3

さて、これは本当に些細なことのように聞こえますが、私はそれを正しく理解できないようです。ビューから関連のないコントローラーにlink_toを指定してパラメーター:invite_codeを渡したいだけです。

見る:

<td><%= link_to 'Join', :action => 'invite', :invite_code => project.invite_code , :method => :post %></td>

ルート:

match 'invite' => 'database#invite', :via => :post

database_controller:

def invite ...
  puts params
end

コンソールのデバッグ出力は次のようになります。

{"_method"=>"post", "authenticity_token"=>"..........", "action"=>"invite", "controller"=>"database"}

パラメータを渡せないように見えることを除いて、すべてが正常に機能します。私は新人ですが、この方法で長い間立ち往生しています。

ありがとう!

4

1 に答える 1

3

次のことを試してください。

<%= link_to "Join", invite_path(invite_code: project.invite_code), method: :post %>

ルートを更新する必要がある場合があります。

post 'invite' => 'database#invite', as: :invite
于 2013-03-26T00:19:25.770 に答える