【问题标题】:activeadmin access one resource's comments by two models rails4activeadmin 通过两个模型访问一个资源的评论 rails4
【发布时间】:2014-07-17 09:22:08
【问题描述】:

我有 rails4 应用程序。它有(除其他外)ClientDeveloper 模型。我也有Submission 模型。 我使用activeadmincancan 宝石。 我尝试使Submission 的cmets 对ClientDeveloper(与某些submission 相关)都可见,但是当我检查时,developer 只看到他的cmets 和client 相应他的。假设它与Ability 类定义有关。这是我的(部分):

 def developer_rules(developer)
    can [:read, :create], ActiveAdmin::Comment
 end

 def client_rules(client)
    can [:read, :create], ActiveAdmin::Comment
    can :manage, Client, id: client.id
 end

有没有人遇到过类似的情况?将不胜感激任何提示。谢谢!

UPD:已解决

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-4 activeadmin cancan


【解决方案1】:

最终,问题与Ability 类无关。 ActiveAdmin 为每个命名空间分别显示 cmets(即使这些注释关联到同一个资源),因此解决方案是覆盖此方法

def self.find_for_resource_in_namespace(resource, namespace)
  where resource_type: resource_type(resource),
  resource_id: resource_id_cast(resource),
  namespace: namespace.to_s
end

删除最后一行 namespace: namespace.to_s 以便 cmets 独立于命名空间显示。

【讨论】:

    猜你喜欢
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多