【发布时间】:2017-03-26 03:10:32
【问题描述】:
我看到很多帖子,但我不确定它们是否适用于我的问题。主要是因为当我尝试实施这些解决方案时,我会遇到语法错误。我不知道为什么这似乎是个问题。
我有一个与用户 1:1 关系的配置文件对象。在个人资料的编辑中,我想保存用户的电子邮件。但是这里不会保存的是代码和输出...
查看:
= semantic_form_for @profile do |f|
= f.inputs class: "form-group" do
= f.input :name, input_html: { class: "form-control" }
= f.input :username, input_html: { class: "form-control" }
= f.semantic_fields_for @profile.user do |u|
= u.input :email, input_html: { class: "form-control" }
传递给控制器的参数:
{"utf8"=>"✓", "_method"=>"patch", "authenticity_token"=>"iMkkLX6qN7PagmbnEQlQZ0CH5Q/fl+G9273eHFO9aRk8EG4MisEi3PwQOWocU2wp3UW5ju4DOJcUh5v19pS46A==", "profile"=>{"name"=>"John Doe", "username"=>"JohnnyD", "user"=>{"email"=>"jdoe@email.com"}, "commit"=>"Save", "controller"=>"profiles", "action"=>"update", "id"=>"4"}
控制器的响应:
Unpermitted parameter: user
白名单:
params.require(:profile).permit(:name, :username, :user)
模型:
class Profile < ActiveRecord::Base
belongs_to :user
accepts_nested_attributes_for :user
end
class User < ActiveRecord::Base
has_one :profile, :dependent => :destroy
end
我尝试将 users_attributes: [:email] 添加到所需的参数 #syntax 错误。 我尝试将 user: [:email] 添加到所需的 prarams #syntax 错误 我已经尝试在模型中使用和不使用 accept_nested_attributes #no effect。
谁能给我线索,因为我显然一无所知。
谢谢。
【问题讨论】:
标签: ruby-on-rails-4 view controller nested-forms