你必须用手做吗?你还能使用表单助手吗?
不管怎样,Rails 的做法是你总是给表单一个你正在使用的模型的实例,并在它的属性上调用 getter。对于新实例,它们将是空白的。对于已保存的实例,它们将具有值。例如,如果你有一个User
带有login
andname
属性的模型,你可以@user = User.new
在你的控制器中做,在你的表单中做(使用帮助标签):
<%= text_field_tag "login", @user.login %>
<%= text_field_tag "name", @user.name %>
如果您有一个实际用户 ( @user = User.first
),您仍然可以在该视图中使用它。
所以不,您不必使用表单标签,因为基本原则总是给出您正在使用的模型的实例,并决定如果属性为 nil/blank 时使用的默认值。
因此,如果您总是有一个对象要使用,但仍想手动执行,您可以键入:
<input type="number" name="funds_application[product_revenues_attributes][1][amount]" value=@my_object.amount>
或者无论该领域到底是什么。这样,它会获得一些默认值,但如果对象已经具有该属性的某些内容,它将输出它。