首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails - activeadmin模型和自定义模型之间的关系

Rails - activeadmin模型和自定义模型之间的关系
EN

Stack Overflow用户
提问于 2017-01-24 18:06:34
回答 1查看 124关注 0票数 0

首先,我想知道是否有可能将我的一个模型与ActiveAdmin::CommentAdminUser模型相关联

这是我的model

代码语言:javascript
复制
class AdminAction < ActiveRecord::Base
  has_one :comment, :class_name => "ActiveAdmin::Comment", :foreign_key => "admin_action_id"
  belongs_to :admin_user
end

这些关联不会引发任何错误,只是返回‘`nil

我在这两个模型中添加了一个字段:

代码语言:javascript
复制
add_column :admin_users, :admin_action_id, :integer
add_column :active_admin_comments, :admin_action_id, :integer

这里的目标是将AdminUserComment关联到我的新模型AdminAction,当我这样做时

代码语言:javascript
复制
a = AdminAction
a.admin_user 
# and 
a.comment

它起作用了

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-01-24 20:17:46

您需要在admin_actions表中有一个admin_user_id,才能使此belongs_to关联工作。

代码语言:javascript
复制
class AdminAction < ActiveRecord::Base
  belongs_to :admin_user
end

此外,不需要foreign_key参数,因为它将从AdminAction类名中推断出来。

代码语言:javascript
复制
class AdminAction < ActiveRecord::Base
  has_one :comment, :class_name => "ActiveAdmin::Comment", :foreign_key => "admin_action_id"
end

除此之外,你所拥有的应该能像预期的那样工作。如果不是,请根据具体情况提供您所看到或未看到的更多详细信息。

我使用的是User模型,而不是AdminUser。下面是我的代码:

迁移

代码语言:javascript
复制
class CreateAdminAction < ActiveRecord::Migration
  def change
      create_table :admin_actions do |t|
      t.references :user, index: true
      t.timestamps
    end
  end
end

class AddFieldsForAdminAction < ActiveRecord::Migration
  def change
    add_column :active_admin_comments, :admin_action_id, :integer
  end
end

AdminAction

代码语言:javascript
复制
class AdminAction < ActiveRecord::Base
  has_one :comment, class_name: 'ActiveAdmin::Comment'
  belongs_to :user
end

另一种想法是:如果您希望获取单个AdminUserActiveAdmin::Comment记录,我认为您可以像这样直接获取它们:

代码语言:javascript
复制
admin_comments = ActiveAdmin::Comment.find_for_resource_in_namespace(AdminUser.find(some_id), :admin)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41825291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档