关于Active View的一点问题
如果在一个项目中用了脚手架(scaffold)工具,在view中,比如
index.html.erb中,可以这样写
<%= link_to "New event", new_event_path %>
但如果不生成脚手架,就需要这样写,如果按照上面那样写,会出现ActiveView::base中没有这个方法的错误
<%= link_to "New event", :controller => "events", :action => "new" %>
想问一下这个new_xxx_path是在哪里生成的,如果我不用脚手架,如何可以使用这样的语法?
[解决办法]
只是路由规则的问题。你再routes.rb文件中添加这样一句话就可以了
ActionController::Routing::Routes.draw do |map|
map.resources :your_controllers # 这里就是你要添加的位置,your_controllers是你的控制器名称
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
要是在不会,你就用scaffold生成一个再看routes.rb文件