【问题标题】:What is the alternative for accepts_nested_attributes_for in the belongs_to model activeadmin resource?在 belongs_to 模型 activeadmin 资源中,accepts_nested_attributes_for 的替代方法是什么?
【发布时间】:2019-05-25 05:16:47
【问题描述】:

我有一个会员资源,它属于用户和俱乐部。我想访问父属性,即俱乐部和用户,我读到accepts_nested_attributes_for 用于关系的父方。我应该在我的会员模式中写些什么?

我在 stackoverflow 和 activeadmin 文档中都搜索过它,但我没有得到关于解决我的问题的彻底解释......

我的会员模式是: 会员资格.rb

class Membership < ApplicationRecord
    require 'csv'
    belongs_to :club
    belongs_to :user
end

另外,我应该在我已经向 AA 注册的会员资源中写什么...

【问题讨论】:

标签: ruby-on-rails ruby activeadmin


【解决方案1】:

您可以提及以下内容:- 1) has_many: 会员#in user model 2) has_many: 会员#in club model

这将帮助您从子模型访问父属性:- membership.user、membership.club

另外,您可以在用户模型中提及 accepts_nested_attributes_for:memberships。 当您编写此代码时,您可以为用户和成员构建一个通用表单并同时修改它们。为此,您必须在 users_controller.rb 中允许会员属性。

【讨论】:

    【解决方案2】:

    以下应该可以工作(Similar question):

    class Club < ApplicationRecord
       has_many :memberships, :dependent => :destroy 
       has_many :users, :through => :memberships
       accepts_nested_attributes_for :membership 
    end
    
    class User < ApplicationRecord
       has_many :memberships, :dependent => :destroy 
       has_many :clubs, :through => :memberships
       accepts_nested_attributes_for :membership 
    end
    
    class Membership < ApplicationRecord
        require 'csv'
        belongs_to :club
        belongs_to :user
        accepts_nested_attributes_for :club
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 2022-12-10
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      相关资源
      最近更新 更多