如果我有我的网站在逻辑上分成账户(如acme.mywebsite.com,xyz.mywebsite.com),我怎么能实现的 ACT-AS-加标签式类固醇并有标签由当前帐户作用域?

要给予更多一点的细节,如果我访问了极致,我不希望看到某某子域的标签。

我看着ACT-AS-加标签上,但上下文的不仅是如果你想有不同类别的标签为同一型号提供。

有帮助吗?

解决方案

假设我理解,你必须每个都有自己的一套可以在您的应用程序适用于任何型号的标签多个账户的呼叫acts_as_taggable你的问题。下面应该做的事你想要的。

您可以添加以下应用程序控制器,使子域访问的所有操作。

class ApplicationController < ActionController::Base

  before_filter :getSubdomain

  def getSubdomain
      @current_subdomain.(self.request.subdomains[0])
  end
end

假设你在你的数据库中的标签链接到一个子域一些如何,然后你可以创建一个名为范围。这个例子假设子域是一个用户名和标签模型属于一个用户,你就可以用你的标签型号命名范围,只选择那些相关的子域。

class Tag < ActiveRecord::Base
  ...
  named_scope :find_by_subdomain, labmda do |subdomain|
    { :joins => "users ON users.id = tags.user_id", :conditions => ["users.name = ?", subdomain] }
  end
end

然后,以检索由与子域相关联的用户创建的帖子标签:Posts.tags.find_by_subdomain(@subdomain)

注:你必须增加由行为-AS-加标签上,类固醇来添加以下提供的标签模型。   - A柱连接每个标签到一个帐户。   - 唯一性验证,范围上的帐户。允许多个帐户具有相同的标记。

其他提示

如果帐户对你是一个模型,则可以设置帐户标签的对象作为所有者的。 文档: https://github.com/mbleigh/acts-as-taggable -on#标签所有权

和然后问帐户来标记对象。然后找到所有的标签,你可以要求业主得到人的标签或引用的Tagging。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top