Я не совсем уверен, что переместит его в модель.Я бы, вероятно, просто переместил его в метод приватной утилиты в контроллере.
case params[:find_by]
when 'topic'
nuggets = Nugget.find_by_topic(params[:topic_name])
@title = nuggets.first.topic
when 'audience'
nuggets = Nugget.find_by_audience(params[:audience_name])
@title = nuggets.first.audience
else
nuggets = Nugget.all
end
@nuggets = Nugget.paginate(:page => params[:page], :per_page => 15)
Другой вариант - создать маршруты для разных находок;стоит ли это того, мех.Вы могли бы переместить логику find_by в модель или использовать send
, чтобы немного подсушить разницу между темой и аудиторией, но, опять же, это кажется большим количеством проблем, чем оно того стоит.
IИнтересно будет узнать, что еще люди Rails думают по этому вопросу.