pending
というルート/ビュー/コントローラのアクションで、現在のユーザーが要求したすべてのリソースを表示するには、:foo
が必要です。このビューは機能的にはindex
と同じで、現在のユーザーとの保留中の両方で作成されたリソースを表示する点のみが異なります。私のアプリはget routeをリソースIDとして扱い、間違ったコントローラのアクションにマップするのはなぜですか?
マイroutes.rbを:
resources :foo
get 'foo/pending', controller: 'foo', action: 'pending'
FooController.rb
def pending
@foo = current_user.foo.unapproved
end
私は私のgetルートでのコントローラとアクションを宣言しています、pending
は:id
のparamとして使用されますにもかかわらず、およびすべてがFooControllerのshow
アクションにルーティングされます。私はまだ書いていない。どうして?ありがとう!
getをリソース行の上に移動してみてください。または、コレクションメソッドとしてリソースブロックの内部に含めることができます。 – Doon