如何使rails3在新动作的表单字段中显示初始值?

| 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显然将第一种形式解释为对局部变量的赋值。     
已邀请:
        在您的控制器中尝试以下操作:
def new
  last_post = Post.last
  @post = Post.new
  @post.title = last_post.title
  @post.summary = last_post.summary
  ...
end
...然后您认为您应该具有以下内容:
form_for @post do |form|
  form.text_field :title
  form.text_area :summary
  ...
即使未保存记录,表单也应具有初始值。     

要回复问题请先登录注册