У меня есть 3 таблицы: телефонные переговоры, результаты, Questions.I есть 3 модели также: PhoneCall, Result, ВопросRails 4: Как я могу получить запись has_many через отношения?
Схема является телефонные звонки: идентификатор, дата, user_id
Схема вопросов: идентификатор , текст ошибки
Схема результатов: идентификатор, phonecall_id, question_id, результат
Мои Phonecall.rb является:
class Phonecall < ActiveRecord::Base
has_many :results
has_many :questions, :through => :results
end
Мои Result.rb является:
class Result < ActiveRecord::Base
has_one :question
belongs_to :phonecall
end
И мой Question.rb:
class Question < ActiveRecord::Base
belongs_to :result
has_many :phonecalls, :through => :result
end
Так как я могу получить Вопрос свойства в этом цикле:
<%
@phonecalls.each do |ph|
ph.results.each do |r|
%>
<%= ph.id %>
<%= r.id %>
<%
end
end
%>
Если бы я попробуйте получить r.question.id - у меня ошибка. Если я попытаюсь сделать какой-то цикл с ph.questions - у меня ошибка.
Как я могу это сделать?
Это работа для меня, но моя ошибка заключалась в том, что я использовал их каждый? –
'every' в порядке здесь - ваша проблема заключалась в том, что вы вызывали таблицу соединений' results', а не то, что вы действительно хотели «вопросы». рад, что сработал для вас! – Anthony
Я сожалею, но это не сработает. Я забыл сохранить файл. Теперь у меня есть: Mysql :: Ошибка: Неизвестный столбец «questions.result_id» в разделе «on»: SELECT 'questions'. * FROM' questions' INNER JOIN 'results' ON' questions'.'result_id' = 'results'. 'id' WHERE' results'.'phonecall_id' =? –