0

私はこのリンクを実装しました:

意見:

<li><%= link_to "Trainer-Sportler", :controller => "trainerones", :action => "trspmatch" %></li>

コントローラ:

def trspmatch
   render :trspmatch
end

および1つのビューtrspmatch.html.erb

Railsは言う:

Unknown action

The action 'show' could not be found for TraineronesController

def show endを実装して、show.html.erbを作成したとき。Railsはtrspmatch.html.erbではなくshow.html.erbを開きますか?

4

1 に答える 1

2

おそらく次のようにtraineronesリソースを定義したいと思うでしょう:

resources :trainerones do
   collection do
     get 'trspmatch'
   end
end

これにより、TraineronesController#trspmatch にマップされる URL /trainerones/trspmatch が公開されます。このリンクを見ると、ルートをよりよく理解するのに役立ちそうです。

いずれにせよ、コンソールで実行rake routesすると、すべてのルートと、それらがコントローラーのメソッドにどのようにマップされるかが表示されるため、多くのメリットがあります。上記で説明したように、trainerones リソースを書き換える前後に試してみると、違いがわかります。幸運を!

于 2013-02-21T22:13:12.763 に答える