Я довольно новичок в Rails. Я пытаюсь создать систему голосования, в которой люди могут проголосовать за один ответ в вопросе.Охват для вложенных атрибутов рельсов 4
Question.rb
has_many :choices, dependent: :destroy
accepts_nested_attributes_for :choices, reject_if: proc { |attributes| attributes['option'].blank?}, allow_destroy: true
validates_presence_of :title, :user_id
Choice.rb
belongs_to :question
has_many :votes, dependent: :destroy
Vote.rb
belongs_to :voter, class_name: 'User'
belongs_to :choice
validates_presence_of :voter_id, :choice_id
validates_uniqueness_of :voter, scope: :choice
Теперь сфера я ВГА e в модели «Голосование» проверяют только уникальность выбора (я могу голосовать только за этот выбор один раз), но я все еще могу голосовать за другие варианты в том же вопросе. Я хотел бы иметь возможность голосовать в вопросе один раз. Таким образом, вопрос и выбор уникальны. Я думаю, мне нужно создать настраиваемую область, но я не знаю, как это сделать.
Эй, спасибо Я решил это по-другому, но ваше предложение определенно указывало мне на правильное направление. Я просто создал столбец question_id для голосования. Тогда я могу просто расширить уникальность question_id. –
@ bkunzi01 Я думаю, что вам не хватает цитаты после второго вопросительного знака и перед запятой – Dan
Это для меня. Должна иметь возможность просто скопировать и вставить его. – bkunzi01