如何在Ruby on Rails的form_for中使用hidden_field? [英] How do I use hidden_field in a form_for in Ruby on Rails?
问题描述
我已阅读此,但我是新的RoR,所以我有点麻烦理解它。我正在使用表单来创建一个新的请求记录,并且我需要发送的所有变量已经存在。这是我需要发送的数据(这是一个do循环):
I've read this, but I'm new to RoR so I'm having a little trouble understanding it. I'm using a form to create a new request record, and all of the variables that I need to send exist already. Here is the data I need to send (this is in a do loop):
:user_id => w[:requesteeID]
:requesteeName => current_user.name
:requesteeEmail => current_user.email
:info => e
这是我的表单,它迄今为止工作正常,但只发送NULL值:
Here's my form, which works so far, but only send NULL values for everything:
<% form_for(:request, :url => requests_path) do |f| %>
<div class="actions">
<%= f.submit e %>
</div>
<% end %>
如何使用hidden_fields发送我已有的数据?感谢您的阅读。
How do I use hidden_fields to send the data I already have? Thanks for reading.
推荐答案
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
请注意当您使用
Note when you used
<%= f.hidden_field :some_column %>
更改为html
<input type="hidden" id="request_some_column" name="request[some_column]" value="#{@request.some_column}" />
当您使用
and when you used
<%= hidden_field_tag 'selected', 'none' %>
更改为html
<input id="selected" name="selected" type="hidden" value="none"/>
这篇关于如何在Ruby on Rails的form_for中使用hidden_field?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!