0

私は Berkeley Software as a Service コースを受講していますが、「類似映画を検索するための RESTful ルート」を作成するために必要なものがわかりません。

私はmovies_controllerにこれを持っています:

def find_by_same_director
  @movies = Movie.find_by_director params[:id]
end

私はroutes.rbでこれの可能な限り多くのバリエーションを試しています:

match 'movies/find_by_same_director/:id' => 'movies#find_by_same_director'

しかし、何をしても、キュウリを実行すると同じエラーが発生し続けます。

No route matches
{:action=>"find_by_same_director",:controller=>"movies", :id=>1}
(ActionController::RoutingError)

私はRailsを初めて使用するので、コントローラーアクションをルートとして認識させるために何をしなければならないかを正しく理解できなかったと思います。誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

2

あなたconfig/routes.rbは次のようなものを持っている必要があります:

match '/movies/:id/directors' => 'movies#same_directors', :as => 'same_directors'

app/controllers/movies_controller.rb同じ名前のアクションが必要です!

def same_directors
end

次のようなビューを作成する必要があります。

`app/views/movies/same_directors.html.haml`

きゅうりの場合features/support/paths.rbは、次の行または類似の行が必要です。

when /^the Similar Movies page for "(.*)"$/
  same_directors_path(Movie.find_by_title($1))

正確なルートを知るためのRailsアプリのクックレシピとキュウリのセットアップです!

于 2012-08-12T17:28:42.013 に答える
0
match 'movies/find_by_same_director/:id' => 'movies#find_by_same_director'

なる:

match '/movies/find_by_same_director/:id' => 'movies#find_by_same_director'
于 2012-08-11T18:10:50.017 に答える