我在我的rails应用中使用elasticsearch-rails gem。我想动态设置索引名称。在模型中我这样做了:
index_name {Account.current_account.subdomain}
目前宝石中没有支持这样做。这是gem
中定义的index_name方法naming.rb
# TODO: Dynamic names a la Tire -- `Article.index_name { "articles-#{Time.now.year}" }`
#
def index_name name=nil
@index_name = name || @index_name || self.model_name.collection.gsub(/\//, '-')
end
我怎样才能使这个工作?感谢
答案 0 :(得分:1)
此功能has been inplemented here并发布到rubygems。
答案 1 :(得分:0)
所以你尝试过类似的东西而且它不起作用?因为它对我有用吗?
class Account < ActiveRecord::Base
include Elasticsearch::Model
index_name(Account.current_account.subdomain) # without the curly braces
mapping do
...
end
end