簡體   English   中英

Rails-屬於,has_many

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM