1

ビューにボタンがあり、コントローラーにその ID が必要です。どうすればよいですか?

以下のコードを検討してください: VIEW:

      <%= form_tag :controller => :t_activities, :action => :index , :method => "get" do %>
      <input name="activitybtn" type="submit" class="btn btn-primary" id="m<% scenario.id %>" value="Take Activity"/>
      <% end %>

コントローラ:

デフインデックス

@abc = params[:id]

終わり

私はこれが間違っていることを知っています.Railsの手がかりはありません.

もう1つ、指定されたメソッドは「get」ですが、ルートで「post」を識別する必要があります。get「t_activities/index」にアクセスするように変更するにはどうすればよいですか?

4

2 に答える 2

2

nameフォームに「id」属性を持つ別のフィールドが必要です。値が正しいと仮定すると、次のようになります。

<input type="hidden" name="id" value="m<%= scenario.id %>" />

この値はparams[:id]コントローラーのように表示されます。

2 番目の質問については、ルートに合わせてフォーム メソッドを変更したいだけの場合は、上記の例で変更method => "get"するだけです。method => "post"フォームに合わせてルートを変更したい場合は、すでに設定した内容によって異なります。その場合は、ルート ファイルの関連部分を質問に貼り付けてください。

于 2013-03-16T09:13:32.670 に答える
0

フォームの非表示フィールド タグで ID を渡します。


  <%= form_tag {:controller => :t_activities, :action => :index }, :method => "get" do %>

    <%= hidden_field_tag "id_name", @scenario.id %>


          <input name="activitybtn" type="submit" class="btn btn-primary"  value="Take Activity"/>
          <% end %>

コントローラー内の params[:id_name] としてコントローラー内のその id にアクセスします。

于 2013-03-16T09:13:23.953 に答える