1. ホーム
  2. ruby-on-rails

[解決済み] Railsです。form_forでhidden_fieldを使うには?

2023-04-11 13:47:34

質問

私が読んだのは これ を読みましたが、私は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を使って、すでに持っているデータを送るにはどうすればいいのでしょうか?お読みいただきありがとうございます。

どのように解決するのですか?

参考 隠しフィールド または 隠しフィールドタグ

<% 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"/>