phr*_*ron 6 nested-forms mass-assignment nested-attributes ruby-on-rails-3.2
我阅读了很多相关的帖子,但找不到为什么它不适合我.我还有一个"无法大量分配受保护的属性:个人资料"......我做错了什么?
我有一个User模型和一个具有一对一关系的相关Profile模型.这里的用户模型(简化)
class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation, :profile_attributes, :profile_id
has_secure_password
has_one :profile
accepts_nested_attributes_for :profile
end
Run Code Online (Sandbox Code Playgroud)
Profile模型
class Profile < ActiveRecord::Base
attr_accessible :bio, :dob, :firstname, :gender, :lastname, :user_id
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
我的用户控制器
def new
@user = User.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @user }
end
end
def create
@user = User.new(params[:user])
@user.build_profile
respond_to do |format|
if @user.save
format.html { redirect_to @user, flash: {success: 'User was successfully created. Welcome !'} }
format.json { render json: @user, status: :created, location: @user }
else
format.html { render action: "new" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
Run Code Online (Sandbox Code Playgroud)
如果它可以提供任何帮助,用户和配置文件都是脚手架.
我也尝试使用':profiles_attributes'而不是User attr_accessible中的'profile_attributes',同样的问题......
在用户控制器中也试过'@ user.profiles.build'而不是'@ user.build_profile'......同样的结果......
任何有关解释的帮助都会很棒(我是铁道上的菜鸟,请原谅我)
编辑我使用的简单形式
<%= simple_form_for(@user) do |f| %>
<%= f.error_notification %>
<%= f.simple_fields_for :profiles do |p| %>
<div class="nested-form-inputs">
<%= p.input :lastname %>
<%= p.input :firstname %>
</div>
<% end %>
<div class="form-inputs">
<%= f.input :email %>
<%= f.input :password %>
<%= f.input :password_confirmation %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
干杯
您引用的错误消息说can't mass-assign protected attributes: profiles.我相信你需要attr_accessible :profiles (或可能:profile)
我有一个应用程序
accepts_nested_attributes_for :order_items
attr_accessible :order_item
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
603 次 |
| 最近记录: |