По какой-то причине я получаю NoMethodError для некоторого запроса, который фактически работает в консоли rails.Ruby on Rails: Неопределенный метод Ошибка с ассоциациями has_one
Код в index.html.erb
@requests.first.acceptance
Это моя ошибка
undefined method `acceptance' for #<ActiveRecord::Relation::ActiveRecord_Relation_Arrangement:0x000000042ceeb8>
Это мои модули.
class Arrangement < ActiveRecord::Base
belongs_to :acceptance
belongs_to :request
belongs_to :offer, inverse_of: :arrangements
end
class Acceptance < ActiveRecord::Base
belongs_to :user, inverse_of: :acceptances
has_one :arrangement
end
class Request < ActiveRecord::Base
belongs_to :user, inverse_of: :requests
has_one :arrangement
end
Это мой контроллер
def index
@requests = Array.new
for request in current_user.requests do
@requests << Arrangement.where("request_id = ?", request.id)
end
@acceptances = Array.new
for acceptance in current_user.acceptances do
@acceptances << Arrangement.where("acceptance_id = ?", acceptance.id)
end
end
Я не могу понять, что я сделал неправильно здесь. Все работает в консоли, хотя и не в браузере.
Спасибо за ваш ответ :-) Несмотря на то, что я нашел ошибку самостоятельно, я приму свой ответ! – JustBasti
Добро пожаловать! Крошечных маленьких ошибок, подобных этим, часто бывает труднее всего найти. ;) И большинство из них ждут, пока не появится пятница! – fivedigit