मैं globalize3 के साथ rails_admin का उपयोग कर रहा हूं और खोजने योग्य संघों को काम करने के लिए नहीं मिल सकता। ,rails_admin खोज योग्य एसोसिएशन
class Person < ActiveRecord::Base
has_one :name, inverse_of: :person
end
class Name < ActiveRecord::Base
belongs_to :person, inverse_of: :name
translates :first_name, :last_name
has_many :name_translations, inverse_of: :name, dependent: :destroy
end
class NameTranslation < ActiveRecord::Base
belongs_to :name, inverse_of: :name_translations
end
NameTranslation
मॉडल globalize3 से आ रही है, यह नाम (first_name
और last_name
) प्लस locale
और name_id
के रूप में ही विशेषताएं हैं: यहाँ मॉडल हैं (व्यक्ति has_one/belongs_to नाम has_many/NameTranslation belongs_to)।
config/initializers/rails_admin.rb
में मैं
config.model Person do
list do
field :name do
searchable name_translations: :last_name
end
end
end
तब है, जीयूआई में, जब मैं name
पर एक फिल्टर जोड़ने के लिए, मैं:
SQLite3::SQLException: no such column: name_translations.last_name: SELECT "people".* FROM "people" WHERE (((name_translations.last_name LIKE '%freud%'))) ORDER BY people.id desc LIMIT 20 OFFSET 0
जाहिर है, rails_admin में name_translations.last_name
नाम के एक स्तंभ के लिए लग रही है people
names
और name_translations
सहित शामिल होने के बजाय - क्यों?
मैं rails_admin क्या जरूरत है ऐसा करने के लिए आईआरबी में काम कर रहा है,:
>> Person.joins(name: :name_translations).where('name_translations.last_name like "test"')
जो निम्नलिखित एसक्यूएल उत्पन्न करता है:
SELECT "people".* FROM "people" INNER JOIN "names" ON "names"."person_id" = "people"."id" INNER JOIN "name_translations" ON "name_translations"."name_id" = "names"."id" WHERE (name_translations.last_name like "test")
इस rails_admin में किया जा सकता है? आपकी मदद के लिए धन्यवाद ...
क्या आपको कभी यह पता चला है? मुझे पता है कि यह थोड़ी देर हो गया है। – GreenPlastik
नहीं, मैंने नहीं किया, क्षमा करें ... – sebastian