4

我正在使用 formtastic 和 formtastic_cocoon 创建一个嵌套表单。

除了一个例外,所有似乎都可以很好地动态地将嵌套表单添加到现有表单中。

我有用户,用户有条目。

当我创建一个用户并添加一个条目时,我最终得到

-用户
   - 条目(空)
   - 入学测试1

我应该只有

-用户
   - 入学测试1

我不确定为什么总是出现空白条目。

我的模型是

类用户 < ActiveRecord::Base
   验证 :name, :presence => true
   has_attached_file :照片

   has_many :tasks, :dependent => :destroy

   accept_nested_attributes_for :tasks, :allow_destroy => true

结尾

类任务 < ActiveRecord::Base
   attr_accessible :入口

   属于_to:用户


结尾

我的创建控制器是(我认为这是正确的控制器)

  定义创建
    @user = User.new(params[:user])
    如果@user.save
      flash[:notice] = "成功创建用户。"
      重定向到@用户
    别的
      渲染:动作 => '新'
    结尾
  结尾

 定义创建
    @task = Task.new(params[:task])
    如果@task.save
      flash[:notice] = "成功创建任务。"
      重定向到@task
    别的
      渲染:动作 => '新'
    结尾
  结尾

空条目显示在数据库中,所以我认为 html.erb 文件没有问题,但如果有帮助,我可以在此处发布。

4

1 回答 1

1

事实证明,这可能是 formtastic_cocoon 处理表单的方式的问题。

查看 html 源代码时,嵌套表单在页面中,但隐藏。

我将模型更改为

accept_nested_attributes_for :tasks, :reject_if=> proc {|attributes| 属性[:entry].blank?}, :allow_destroy => true
于 2011-02-09T19:44:41.970 回答