6

在我的表单中,我使用了 span 标签,如下所示:

<%= content_tag :span, f.object.User, class: 'username' %>

在我选择值后,它在 HTML 中如下所示:

<span class="user" style="">Antony</span>

问题是当我们创建表单时 id 没有将值传递给数据库。我不知道确切的问题是什么。我想使用这个内容标签而不是 text_field 来获取值。

谢谢。

4

2 回答 2

4

当您提交 HTML 表单时,唯一被 POST 的值是输入字段中的值,例如文本字段、选择、复选框、按钮等。页面上的内容(无论是否在跨度中)都会不会被发回服务器。这不是 Rails 问题,它只是 HTML 的工作方式。

我不确定您要在这里做什么,但是当您想要显示一个值(不在输入框中)并将该值与表单一起发布时,一种常见的方法是同时呈现该值页面(在一个跨度或任何你想要的),并添加一个隐藏的输入字段(hidden_field_tag),其中也有值。

于 2012-10-20T18:56:09.203 回答
1

是的,雅各布是正确的。更好地创建隐藏字段

<%= f.hidden_field :user, class: 'user' %>
<%= content_tag :span, f.object.User, class: 'username' %>

第一行获取其中的值。我希望,雅各布的回答会对你有所帮助。:)

于 2012-10-20T19:02:47.603 回答