您好,我对嵌套表单有问题.. 我看了一个小时,不知道我忘记了什么..
模型/trainer.rb
class Trainer < ActiveRecord::Base
attr_accessible :telephone, :user_attributes
has_one :user
accepts_nested_attributes_for :user
end
模型/用户.rb
class User < ActiveRecord::Base
belongs_to :trainer
attr_accessible :email, :image_url, :name, :password_hash, :password_salt, ...
attr_accessible :password, :password_confirmation
attr_accessor :password
before_save :encrypt_password
<+ validations ...>
控制器/trainers_controller.rb
def new
@trainer = Trainer.new
@trainer.build_user
respond_to do |format|
format.html # new.html.erb
format.json { render json: @trainer }
end
end
我可以显示新的培训师表单视图(我将所有用户列添加为嵌套)但是当我点击创建时我得到
Can't mass-assign protected attributes: user
怎么了 ?谢谢你
编辑:我的数据库架构看起来像
[users]
id
trainer_id
name
surname
[trainers]
telephone
如果有人感兴趣,我在这里上传了我的简化简单应用程序:) https://github.com/ScottHiscock/NestedForm