出於某種原因,我在某些查詢中收到了NoMethodError,實際上它在rails控制檯中工作。在index.html.erbRuby on Rails:使用has_one關聯的未定義方法錯誤
@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