Rails我可以在表单中使用表单标签吗?

时间:2016-11-11 04:25:12

标签: ruby-on-rails

我想要一个这样的表单,因为我只想使用:pass_value将值传递给控制器​​中的其他属性。但它不起作用。你能提供一个正确的方法吗?

<% form_for @person do |f| %>
  <%= f.text_field :name %>
  <%= text_tag :pass_value %>
  <%= f.submit %>
<% end %>

3 个答案:

答案 0 :(得分:2)

不,您不能在表单中使用表单标记。但你可以使用以下其中一个:

a)fields_for

如果这是一个嵌套模型,你可以使用它:

fields_for :widget do |g|
   g.text_field :widget_name
end

fields_for的文档:http://apidock.com/rails/ActionView/Helpers/FormHelper/fields_for

b)text_field_tag

如果它只是一个独立的领域

<%= text_field_tag :some_value %>
text_field_tag的

doc: http://apidock.com/rails/ActionView/Helpers/FormTagHelper/text_field_tag

答案 1 :(得分:1)

你不能在另一个表单中使用form_tag。但是如果你想传递:pass_value的值实际上不是作为属性,请尝试使用虚拟属性。您可以使用:attr_accessor方法。

答案 2 :(得分:0)

您可以使用原始html标记,例如

input type="hidden" name="person[pass_value]" value=@person.pass_value

毕竟它只是html形式