3
我正在從MetaSearch gem遷移到Ransack gem以升級到Rails 3.1,並且我在搜索多態關聯時遇到了問題。現有的MetaSearch語法不適用於Ransack,但我找不到任何提及任何語法更改的文檔。或者Ransack是否支持該功能。Ransack是否支持與MetaSearch一樣的多搜索belongs_to關聯?
例如,從元搜索GitHub的頁面,給出以下類:
class Article < ActiveRecord::Base
has_many :comments, :as => :commentable
end
class Post < ActiveRecord::Base
has_many :comments, :as => :commentable
end
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => true
validates_presence_of :body
end
你可以在你的表單如創建一個搜索字段(這顯然是一個慣例從Searchlogic借來的):
<%= f.text_field :commentable_article_type_body_contains %>
我使用這種類型的語法,它在MetaSearch中完美地工作,但與Ransack我的應用程序在查詢參數包含此字段時引發異常。例外是:
ActiveRecord::EagerLoadPolymorphicError (Can not eagerly load the polymorphic association :ownable)
有沒有人知道如何做這種類型的搜索在Ransack?