Ich bin ziemlich neu in Rails. Ich versuche ein Wahlsystem zu schaffen, bei dem die Leute in einer Frage eine Antwort wählen können.Scoping für verschachtelte atrributes 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
nun der Umfang I hav e im "Vote" -Modell überprüfe nur die Eindeutigkeit einer Auswahl (ich kann nur einmal für diese Wahl stimmen), aber ich kann immer noch für andere Entscheidungen in der gleichen Frage stimmen. Ich würde gerne einmal in einer Frage abstimmen können. Also die Frage und die Wahl ist einzigartig. Ich denke, ich muss einen benutzerdefinierten Bereich erstellen, aber ich weiß nicht wie.
Hey, danke Ich habe es anders gelöst, aber Ihr Vorschlag hat mich definitiv in die richtige Richtung gelenkt. Ich habe gerade eine Frage-Spalte für Vote erstellt. Dann kann ich einfach die Frage-ID-Eindeutigkeit definieren. –
@ bkunzi01 Ich glaube, Sie vermissen ein Zitat nach dem 2. Fragezeichen und vor dem Komma. – Dan
Es ist für mich da. Sollte in der Lage sein, es einfach zu kopieren und einzufügen. – bkunzi01