关于Active View的一点问题

adventurelw 2010-02-27 11:21:53
如果在一个项目中用了脚手架(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是在哪里生成的,如果我不用脚手架,如何可以使用这样的语法?
...全文
108 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
adventurelw 2010-02-28
  • 打赏
  • 举报
回复
确实是这样
因为原来生成脚手架之后有过改动,那个map.resources后面不止一个controller,所以这次写的时候没发现那是必要的。
多谢。
zouyingjun 2010-02-28
  • 打赏
  • 举报
回复
只是路由规则的问题。你再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文件

2,763

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ruby/Rails
社区管理员
  • Ruby/Rails社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧