私は this を読みましたが、私は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を使用して、すでに持っているデータを送信するにはどうすればよいですか?読んでくれてありがとう。
Ref 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"/>
そのようなモデルの非表示の入力としてカスタム値を送信できます。
<%= f.hidden_field :version, value: 12 %>