[英]Rails - belongs_to, has_many
我正在嘗試在Rails中設置模型關系,可以使用您的幫助,因為它不起作用::0
class User < ActiveRecord::Base
has_many :request_threads
end
class RequestThread < ActiveRecord::Base
belongs_to :user, :foreign_key => :creator_id
end
就架構而言,request_threads表具有creator_id而不是user_id,也許是問題所在嗎?
我希望能夠做到:
@user.request_threads
但這是行不通的,錯誤。 想法?
更新
錯誤消息:“啟動POST” / request_threads“為127.0.0.1,在Wed Nov 10 22:21:41 -0800 2010由RequestThreadsController#create作為JS處理:{” request_thread“ => {” request_type_id“ =>” 1“ ,“ message” =>“ blahdiado”},“ authenticity_token” =>“ o9ibF / m8Vw4Uce5u1n3R + atD2 / XVqnZcBVOdXimAZEA =”,“ utf8” =>“✓”,“收件人” => [“ 4”,“ 3”] }用戶負載(0.7ms)在“ users”中選擇“ users”。*(“ users”。“ id” = 2)限制1個緩存(0.0ms)在“ users”中選擇* users。*從“ users”那里(“ users “。” id“ = 2)LIMIT 1在63毫秒內完成
NoMethodError( user_id=' for #<RequestThread:0x1058df0d0>): app/controllers/request_threads_controller.rb:50:in
未定義方法user_id=' for #<RequestThread:0x1058df0d0>): app/controllers/request_threads_controller.rb:50:in
create'app / middleware / flash_session_cookie_middleware.rb:14:in`call'
試試看
class User < ActiveRecord::Base
has_many :request_threads, :foreign_key => :creator_id
end
class RequestThread < ActiveRecord::Base
belongs_to :user
end
控制器看起來還可以。 好的,在您的RequestThread模型中嘗試一下。
alias_attribute :user_id, :creator_id
這應該為您工作。
class User < ActiveRecord::Base
has_many :request_threads, :foreign_key => :creator_id
end
class RequestThread < ActiveRecord::Base
belongs_to :user, :foreign_key => :creator_id
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.