Ruby on Railsのform_forでhidden_​​fieldを使用するにはどうすればよいですか?


83

私が読んだ本を、私は少しトラブル、それを理解したんだので、私はRoRのに新たなんです。フォームを使用して新しいリクエストレコードを作成していますが、送信する必要のあるすべての変数が既に存在します。これが私が送る必要のあるデータです(これはdoループにあります):

:user_id => w[:requesteeID]
:requesteeName => current_user.name
:requesteeEmail => current_user.email
:info => e

これが私のフォームです。これまでは機能しますが、すべてに対してNULL値のみを送信します。

<% form_for(:request, :url => requests_path) do |f| %>
    <div class="actions">
        <%= f.submit e %>
    </div>
<% end %>

hidden_​​fieldsを使用して、すでに持っているデータを送信するにはどうすればよいですか?読んでくれてありがとう。


<%= f.hidden_​​field:user_id、:value => w [:calleeID]%>を試しましたが、NULLを送信しました
ベン

回答:


104

hidden_​​field またはhidden_​​field_tagを参照します

<% form_for(:request, :url => requests_path) do |f| %>
    <div class="actions">
        <%= f.hidden_field :some_column %>
        <%= hidden_field_tag 'selected', 'none'  %>
        <%= f.submit e %>
    </div>
<% end %>

その後、コントローラーで

 params[:selected]="none"
 params[:request][:some_column] = request.some_column

使用したときの注意

   <%= f.hidden_field :some_column %>

htmlに変わります

<input type="hidden" id="request_some_column" name="request[some_column]" value="#{@request.some_column}" />

そしてあなたが使用したとき

<%= hidden_field_tag 'selected', 'none'  %>

htmlに変わります

   <input id="selected" name="selected" type="hidden" value="none"/>

76

次のように、モデルの非表示入力としてカスタム値を送信できます。

<%= f.hidden_field :your_model_field_name, value: 12 %>

value: 12デモはどこにありますが、必要な値を渡すことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.