我的应用程序有三个我关注的模型:
页:
class Page < ActiveRecord::Base
has_many :page_translations
has_many :translations, through: :page_translations, :class_name => Translation.name
accepts_nested_attributes_for :page_translations, :allow_destroy => true
end
PageTranslation:
class PageTranslation < ActiveRecord::Base
belongs_to :page
belongs_to :translation
end
和翻译:
class Translation < ActiveRecord::Base
validates_presence_of :locale, :key
has_many :pages, through: :page_translations
has_many :page_translations
accepts_nested_attributes_for :page_translations, :allow_destroy => true
end
当用户访问页面索引时,会向他们提供指向该页面的show动作的链接。
index do
column :slug do |page|
link_to(page.slug, admin_page_path(page))
end
end
在节目页面上,我列出了与该页面相关的所有翻译:
show title: :slug do |page|
panel "Translations" do
table_for(page.translations, sortable: true) do
column :value do |translation|
link_to(translation.value, edit_admin_translation_path(translation))
end.join(', ').html_safe
column :key
column :locale
end
end
end
在页面模型的show动作中,我想添加一个过滤器,以便用户可以按区域设置或值进行排序。我是活跃管理员的新手(因为我相信你可以从我的臭代码中辨别出来)并且我已经在这个问题上挣扎了一段时间。任何帮助是极大的赞赏。