Ruby,Rails 3,新手
我正在为一个类分配扩展一个工作的Rails应用程序(显示电影),所以基本的管道工作正常。
我在routes.rb中添加了一个条目 -
match "/movies/directed_by/:director" => "movies#directed_by"
我的佣金路线有一个条目
/movies/directed_by/:director(.:format) {:controller=>"movies", :action=>"directed_by"}
注意没有“路径”,也没有指定HTTP方法(例如GET)
对于其他(Rails模型自动生成)路由,路径和动词是指定。
我有一个控制器方法
def directed_by
# some code
end
我有一个View文件../app/Views/show.html.haml我添加了
= link_to 'Find Movies With Same Director', directed_by(@movie.director)
抛出运行时错误 -
NoMethodError in Movies#show
Showing /home/saasbook/hw3/hw3_rottenpotatoes_rjf/app/views/movies/show.html.haml where line #22 raised:
undefined method `directed_by' for #<#<Class:0xc564594>:0xc532198>
所以我的问题是,现在我调整我的routes.rb
和/或查看haml以将所有内容捆绑在一起?
欢迎所有提示。
答案 0 :(得分:1)
在路线中:
match "/movies/directed_by/:director" => "movies#directed_by", :as => :movie_direct_by
然后在你看来:
= link_to 'Find Movies With Same Director', movie_direct_by_path(@movie.director)