【发布时间】:2017-06-08 15:58:44
【问题描述】:
我一直在使用一种简单的搜索方法来为我正在使用的应用程序的几个部分实现搜索功能。方法和控制器索引操作如下所示。
索引操作 (participant_controller.rb)
def index
if params[:search]
@participants = Participant.search(params[:search])
else
@participants = Participant.all
end
end
参与者模型 (participant.rb)
def self.search(terms)
if terms
where("email ILIKE ?", "%#{terms}%")
end
end
我遇到的问题是我不仅需要通过电子邮件搜索(这就是现在设置 self.search 方法的方式。)而且我还需要按名字和姓氏搜索( f_name, l_name )。但此信息位于名为 ParticipantDetail 的关联模型中。
我尝试了以下方法,但出现“无方法参与者详细信息”错误
def index
if params[:search]
@participants = Participant.participant_detail.search(params[:search])
else
@participants = Participant.all
end
end
我也试过这样搜索......
def index
if params[:search]
@participants = ParticipantDetail.search(params[:search])
else
@participants = Participant.all
end
end
但这实际上并不好,因为它只显示关联的记录,而不是belonged_to(父)记录。
任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails search associations rails-activerecord