Отображению счета current_user 'нравится' по 'вопросу' в представлении questions/show.html.erb

У меня есть приложение, которое позволяет, чтобы пользователи создали вопросы, создали ответы на вопросы, и 'как' ответы других. То, когда current_user приземляется на/views/questions/show.html.erb странице, я пытаюсь отобразиться, общему количеству 'нравится' за все, отвечает на тот вопрос для current_user.

В моей таблице Likes я собираю question_id, site_id и user_id, и мне создали соответствующие ассоциации между пользователем, вопросом, отвечает и любит. Я думаю, что просто должен назвать эту информацию правильным путем, который я, может казаться, не выясняю. Весь из ниже происходит на/views/questions/show.html.erb странице.

Я попробовал следующее:

    <% div_for current_user do %>
        You have liked this question <%= @question.likes.count %> times
    <% end %>

Который возвращает все 'любление' за вопрос, но не фильтрованный current_user

You have liked this question <%= current_user.question.likes.count %> times

Который дает ошибку 'неопределенного метода 'вопрос'

You have liked this question <%= @question.current_user.likes.count %> times

Который дает ошибку 'неопределенного метода 'current_user'

Я попробовал несколько других вещей, но они не имеют столько же смысла сколько вышеупомянутое мне. Что я пропускаю?

1
задан bgadoci 20 May 2010 в 20:38
поделиться

1 ответ

Вы можете использовать:

<%= @question.likes.count :conditions => {:user_id => current_user.id} %>

Или:

<%= current_user.likes.count :conditions => {:question_id => @question.id} %>

Или добавить область видимости к Как модель:

named_scope :owner, lambda {|user| {:conditions => {:user_id => user.id} } }

И назовите ее:

<%= @question.likes.owner(current_user).count %>
2
ответ дан 3 September 2019 в 00:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: