Ich versuche ransack zu verwenden, um nach einem Attribut in einer has_one-Zuordnung in einem Modell zu suchen.
Zeit in meinem Modell habe ich:Ransack-Suche auf has_one: through (alias)
class SurveyResponse < ActiveRecord::Base
belongs_to :course_schedule
has_one :instructor, through: :course_schedule
has_one :instructor_user, through: :instructor, foreign_key: "user_id", source: :user
ich von instructor_user's
Namen in meiner Umfrage Antwort Ansicht gesucht werden soll. Soll ich das mit einem Ransacker machen? Mein Verständnis von Arel ist sehr begrenzt, aber kann ich so etwas tun? (Ich weiß, dass dies nicht funktioniert, wie es ist ..)
def self.ransackable_attributes(auth_object)
[
'created_at',
'instructor_user_name'
]
end
ransacker :instructor_user_name, type: :string do
Arel.sql('string(survey_responses.instructor_user.last_name)')
end
In meiner Umfrage Antwort Controller Im Moment habe ich:
def index
@search_associations = [:course, :user]
@q = SurveyResponse.where(corporation_id: @corporation.id).ransack(params[:q])
@q.build_condition
@survey_responses = @q.result.includes(:course, :user, :course_schedule, :instructor, :instructor_user).order(created_at: :asc)
@survey_responses = paginate(@q)
end
Jede Hilfe, Ressourcen und Führung wäre sehr dankbar.