如何在Ruby on Rails的form_for中使用hidden_field?
我已经读过了 ,但是我对RoR很陌生,所以我在理解它的时候有点麻烦。 我正在使用表单来创build一个新的请求logging,我需要发送的所有variables已经存在。 这里是我需要发送的数据(这是一个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"/>
您可以发送一个自定义值作为模型的隐藏input:
<%= f.hidden_field :version, value: 12 %>