Я хочу, чтобы пользователи могли фильтровать сообщения в моем индексном представлении с помощью параметров в двух раскрывающихся списках.
HTML-код выглядит следующим образом:
<h1> Sort by
<select>
<option value="newest">newest</option>
<option value="popular">most popular</option>
<option value="interest"> your interests</option>
</select>
through
<select>
<option value="all">all</option>
<option value="tasks">tasks</option>
<option value="feedback">feedback</option>
<option value="investments">investments</option>
</select>
</h1>
Я знаю, что не использую помощников Rails, но это потому, что я не понимаю, как их использовать в этом контексте.
В первом раскрывающемся списке параметры предназначены для различных методов в модели сообщений (я поместил их сюда, потому что без параметров из помощников рельсов я не знаю, как включить их в метод индекса в контроллере).
def self.highest_voted
self.order("cached_votes_score DESC")
end
def self.tailored_for_user
@posts = Post.all.order("created_at DESC").tagged_with.current_user.tag_list
end
Во втором раскрывающемся списке параметры представляют собой различные типы сообщений, которые, опять же, являются методами в модели сообщений.
def self.show_feedback Post.joins(:feedbacks) конец
def self.show_crowdfunding
Post.joins(:crowdfundings)
end
def self.show_task
Post.joins(:ideas)
end
Я не понимаю, как написать код, который мне нужен, чтобы сообщения отображались таким образом. Может ли кто-нибудь начать меня? Я потратил так много времени на эту проблему и действительно выиграл бы от второй пары глаз.
Я использую драгоценные камни act_as_taggable_on и act_as_votable_on, а также кокон для создания вложенных атрибутов (отзывов, краудфандинга, идей).
Пожалуйста, дайте мне знать, если я был неясен или упустил информацию.