Rails3 form_for 视图助手在编辑时显示当前值。
我想在创建时用一些初始值填充模型。每次的初始值都不相同,但实际上从存储的最后一条记录中复制了一些值。
当我这样做并使用 form_for 帮助器来构造表单时,不会出现任何值。
看起来 form_for 没有为尚未保存的模型的输入字段发出值属性?但我不会在显示表单之前保存新创建的模型,因为:1. 它不会验证,2. 这会使取消的语义复杂化,3. 离开表单会留下无意保存的记录。
如何从新操作中获取呈现的表单以显示一些动态默认值?
严重地。我一直在阅读一整天都没有答案。这似乎应该有一个我缺少的简单解决方案。
问题来自模型中的初始化代码。控制器有
def new
@post = Post.new
@post.initFromLast
end
该模型有
def initFromLast
last_post = Post.last
title = last_post.title
summary = last_post.summary
end
需要的型号
def initFromLast
last_post = Post.last
write_attribute(:title, last_post.title)
write_attribute(:summary, last_post.summary)
end
Ruby 显然将第一种形式解释为对局部变量的赋值。