2016-04-07 12 views
0

Ruby on Railsの新機能です。私は定義されたノード(オブジェクト)でカスタム操作を行うアプリケーションを構築しています。私のテーブルは以下の通りです:Ruby on Railsカスタムメソッド/タスク

<% @nodes.each do |node| %> 
    <tr> 
     <td><%= node.name %></td> 
     <td><%= link_to 'Bootstrap', node_path(node), 
       method: :bootstrap %> 
     </td> 
    </tr> 
    <% end %> 

"ブートストラップ"は実行したいカスタムコードです。ユーザーがリンクをクリックしたときにコードがそのオブジェクトに対して実行されるように、私は私のRailsアプリに私のカスタムコードで結ぶにはどうすればよい

class NodesController < ApplicationController 
    def bootstrap 
    ...... 
    end 
    ........ 
end 

:私は私のコントローラ内のカスタムメソッドを定義していますか? config/routes.rb

答えて

1

、あなたはおそらく持っている:次に

resources :nodes do 
    get 'bootstrap', on: :member 
end 

、あなたは今、新しいルート方法、bootstrap_node_path(node)を持っている、とリンクすることを確認するためにrake routesを実行します。へ

resources :nodes 

変更、これを/nodes/:id/bootstrap

これは、経路の詳細をまとめておくために、他の方法よりも推奨しますが、それは私の個人的な意見です。私は通常、最後の手段としてカスタムルートに頼っています。

+0

メンバーリソースとして追加されました – user3063045