具有一对一关系的Rails 4嵌套表单

黄统治

我有两个具有一对一关系的模型,即用户和作者。

我有两个问题:作者实例未保存,user.name未保存(尽管其他属性也保存)。我认为这是一个权限错误,因为日志显示:

Unpermitted parameters: name, authors

我正在尝试遵循以下步骤:如何在Rails 3中以一对一的关系将表单数据保存到不同的模型?

User.rb

has_one :author
accepts_nested_attributes_for :author

作者.rb

belongs_to :user

authors#new

 <%= simple_form_for @user do |f| %>
    <%= f.input :name %>
    <%= f.input :email %>
    <%= f.input :password %>
    <%= f.input :password_confirmation %>
      <%= f.simple_fields_for :author do |author_form| %>
        <%= author_form.input :bio %>
      <% end %>
    <%= f.submit %>
  <% end %>

Users_Controller

def user_params
  params.require(:user).permit(:name, :email, :image,
  author_attributes: [:id, :bio,])
end
黄统治

我正在使用Devise gem,并找到了将以下代码添加到Application Controller的解决方案:

 before_action :configure_permitted_parameters, if: :devise_controller?

  def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:name, :email, :password, author_attributes: [:id, :bio]) }
  end

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Laravel具有一对一关系的表单绑定

Rails嵌套属性未以一对一关系保存(仅API)

从 django 管理表单中的一对一关系编辑表单中排除分配的对象

提交JSP表单时与Hibernate的一对一关系以及共享密钥错误

访问一对一关系的表单 UI。不想级联删除

Rails 4:一对一关联项目形式的未定义方法

在Django Admin中从2个或更多模型中合并“添加”表单(以一对一关系连接)

Rails 4:嵌套表单

Rails:多对一关系的嵌套形式

Symfony2(FOSUserBundle注册表单)User类与另一类之间的一对一关系

实体框架6:具有继承关系的一对一关系

如果关系具有属性,如何实现一对一关系?

带嵌套资源Rails的嵌套表单4

无法在一对一关系上插入空对象 Spring boot | 嵌套异常是 .PersistentObjectException: detached entity传递给持久化

一对一关系的Rails分配

带有multipartfile的一对一关系JPA

对具有一对一关系的模型的更改未保存

具有一对一关系的JPA @JoinColumn批注

在 JPA 中保存具有一对一关系的实体

Django,当多个模型与用户具有一对一关系时

具有Null检查的HQL一对一关系

具有一对一关系的模型的 DRF 序列化程序

具有预填充模型的DRF一对一关系序列化器

如何使用Hibernate保存具有一对一关系的两个类?

如何检查用户是否具有一对一关系的角色?

具有单独ID属性的EF6一对一关系

为 EF Core 中的一对一关系定义具有特定列名的实体

从表中获取具有Laravel API一对一关系的数据

Grails Hibernate GORM,具有一对一关系的多租户