-1

Итак, у меня есть 4 модели ..Это правильный способ настройки has_many посредством ассоциации?

Модель пользователя, модель вопроса и модель User_Question.

Теперь я создал семенные по умолчанию вопросы, которые применяются ко всем пользователям, т.е. @questions = Question.all

И эти же вопросы каждый пользователь может видеть, как теперь я могу позволить каждому пользователю написать свой собственный ответ эти вопросы, когда они напрямую не связаны с вопросом? Я получил решение создать has_many через ассоциацию, я просто хочу, чтобы убедиться, что я установил его правильно смотрите ниже код, спасибо:

user.rb

class User < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 

    has_many :user_questions 
    has_many :questions, through: :user_questions 

end 

ответ .rb

class Answer < ActiveRecord::Base 
    attr_accessible :answer 
    has_many :user_questions 
    has_many :questions, through: :user_questions 
end 

question.rb

class Question < ActiveRecord::Base 
    attr_accessible :title, :body 
    belongs_to :user 
    has_one :answer 
end 

user_question.rb

class UserQuestion < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :question 
    belongs_to :answer 

end 
+0

Почему у вас есть user_question? –

+0

Спасибо @ShaunFrostDukeJackson, я использовал это, потому что мои вопросы существуют независимо от пользователей, поэтому я создал пользователь has_many вопросов через user_questions association, это промежуточная таблица с внешними ключами для пользователя и вопрос. Таким образом, UserQuestion может принадлежать к ответу. Не уверен, что он настроен правильно. Можете ли вы проверить PLS, это мой первый раз, используя has_many через ассоциацию. –

ответ

1

Если я понимаю правильно, вы говорите, существуют свои вопросы, независимо от пользователей. Однако вопросы принадлежат пользователям.

Моя понять это должно выглядеть следующим образом:

User.rb

has_many :questions 
has_many :answers 

question.rb

belongs_to :user 
has_many :answers 

answer.rb

belongs_to :question 
belongs_to :user 

Уведомление о множественном а также для own_ to и has_many.

Ссылка на руководство находится здесь, но я не думаю, что вам нужны user_questions.

http://guides.rubyonrails.org/association_basics.html#the-has-many-association

+0

Это то, что у меня было изначально, но это не сработало, поэтому я добавил, что user_questions имеет много связей. Pls см. Оригинальное сообщение, которое привело меня к этому здесь: http://stackoverflow.com/questions/20338551/tricky-questions-answers-associations/20339536?noredirect=1#20339536. Мне в основном просто нужно знать правильный способ настройки как has_many через ассоциацию. –

+0

Это мой вопрос lol, мне просто нужен кто-то, кто поможет проверить, правильно ли я установил has_many через ассоциацию.И скопировал часть моего первоначального вопроса для контекста;) –

+0

Этот способ моделирования ассоциаций будет иметь наибольший смысл с учетом описанной проблемы - has_many through не нужно. – sevenseacat

Смежные вопросы