Я перешел с php на rails3, и я все еще думаю, что это было хорошее решение! В любом случае у меня есть несколько моделей:
users
questions
answers
question_id
votes
user_id
answer_id
модель для пользователей:
has_many :questions
has_many :votes
модель для вопросов:
belongs_to :user
has_many :answers, :dependent => :destroy
accepts_nested_attributes_for :answers, :reject_if => lambda { |a| a[:text].blank? }, :allow_destroy => true
модель для ответов:
belongs_to :question
has_many :users, :through => :votes, :dependent => :destroy
has_many :votes
модель для голосов:
belongs_to :answer
belongs_to :user
Теперь мой вопрос, как только пользователь проголосовал за ответ, голосование за этого пользователя и за этот конкретный вопрос должно быть закрыто ...
Я использую devise и cancan для пользователей и авторизации в остальной части моего проекта ...
На мой взгляд, это должно выглядеть примерно так:
<% unless current_user.question_answered.include? question %>
, а затем выполните сценарий, в котором я отображаю кнопки голосования ...
В моей модели голосов у меня есть
answer_id и user_id, я знаю
current_user.id и текущий question.id
так что если в элементе voice.user_id есть элемент voice.answer_id, который находится в текущем файле question.id, то он не должен отображать сценарий создания моей кнопки ... аааа, как это сделать ...?
Большое спасибо заранее!
И с наилучшими пожеланиями,
Thijs