2012-08-15 83 views
0

的Ruby,Rails 3中,新手Rails视图HAML“未定义的方法”的link_to

我伸出的一类分配的工作Rails应用程序(显示的电影),所以基本水暖工程确定。

我增加了一个入口到routes.rb中 -

match "/movies/directed_by/:director" => "movies#directed_by" 

我耙路线再有入

/movies/directed_by/:director(.:format) {:controller=>"movies", :action=>"directed_by"} 

通知没有指定 “路径”,也不支持HTTP的方法(GET如)

对于其他(Rails Model自动生成的)路径,指定的路径和动词

我有一个控制器的方法

def directed_by 

    # some code 

end 

我在哪里加入

= link_to 'Find Movies With Same Director', directed_by(@movie.director) 

其中引发运行时错误视图文件../app/Views/show.html.haml -

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和/或查看哈姆将所有东西捆绑在一起?

欢迎提供所有提示。

回答

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) 
+0

啊哈!我尝试过“match”/ movies/directed_by /:director“=>”movies#directed_by“,:as => foo”没有成功,但现在我知道我还需要冒号“:foo”。谢谢。 – Rich 2012-08-15 19:28:59

相关问题