0

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

追加したビューファイル../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を微調整しますか?

すべてのヒントを歓迎します。

4

1 に答える 1

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)
于 2012-08-15T19:01:52.063 に答える