0

ここで初歩的な質問。表示されたテーブルにリソース インデックス用に別の列を追加しましたが、特定のリソース オブジェクトのリンクをクリックすると次のページに移動するようにルーティングを設定する方法がわかりません: resource/run/id_number ( run は、追加したリンクの名前です)。実行するためのビューファイルとコントローラーメソッドが既にあり、その部分が機能するので、そのように機能させるためにルートに名前を付ける必要があります。

私はフォームのことを試してきました: match 'route' to:resource_controller#run

しかし、運がありません。ありがとう。

4

1 に答える 1

0

すでに Rails リソースを作成しているため、コントローラーにルーティングする追加のアクションについては、RESTful 規則にできる限り厳密に従うことをお勧めします。

最善の方法は、memberブロックを作成runしてリソースとして 追加することです。

resources :resource_name do
    member do
        get 'run'
    end
end

これにより、次のようなルートが作成されます (からrake routes):

run_resource_name GET    /resource_names/:id/run(.:format)                   resource_names#run

全体として、これはresource/run/:id_numberCRUD ルートの規則に従うため、 のようなルーティング パターンよりも好ましいと考えられます。

于 2013-06-10T22:50:28.550 に答える