我正在使用此gem转换模型的属性
这是我的模特:
class Category < ActiveRecord::Base
translates :name
Globalize.fallbacks = {:es => [:es, :en, :pt], :en => [:en, :es, :pt], :pt => [:pt, :es, :en]}
globalize_accessors
end
我有一个可以按名称搜索的表格
但是这对我不起作用,因为当我通过模型从数据库中获取数据时,我没有我的name属性
def fetch_categories
I18n.locale = @language
categories = Category.where(event_id: @event.id).order("#{sort_column} #{sort_direction}")
categories = categories.page(page).per_page(per_page)
if params[:search][:value].present?
categories = categories.where("name like :search", search: "%#{params[:search][:value]}%")
end
categories
end
categories
返回我
#<ActiveRecord::Relation [#<Category id: 1, client_id: 1, event_id: 1, color: "#265BBD">, #<Category id: 2, client_id: 1, event_id: 1, color: "#E35274">]>
如何在查询中获取名称属性?
我有我的categories
和category_translations
表
我终于找到了解决方案,很简单:
def fetch_categories
I18n.locale = @language
categories = Category.joins(:translations).where(event_id: @event.id).order("#{sort_column} #{sort_direction}")
categories = categories.page(page).per_page(per_page)
if params[:search][:value].present?
categories = categories.where("category_translations.name like :search", search: "%#{params[:search][:value]}%")
end
categories
end