我工作的Rails項目時遇到用下面加入了一些問題:Rails的連接表問題
@page = Page.find(params[:id], :joins => "LEFT JOIN page_translations ON page_translations.page_id = pages.id")
出於某種原因,它只能拉回從頁表的一切。
這裏是我的第
class Page < ActiveRecord::Base
has_many :users_pages
has_many :users, :through => :users_pages
has_many :page_translations
has_many :categories
accepts_nested_attributes_for :page_translations
accepts_nested_attributes_for :categories
end
模型這裏是我的PageTranslation
class PageTranslation < ActiveRecord::Base
belongs_to :pages
end
預先感謝所有幫助典範!
編輯(@thenduks)
日誌運行兩個單獨的查詢:
Page Load (0.5ms) SELECT `pages`.* FROM `pages` WHERE (`pages`.`id` = 1) LIMIT 1
PageTranslation Load (0.5ms) SELECT `page_translations`.* FROM `page_translations` WHERE (`page_translations`.page_id = 1)
這裏是我的控制器是什麼樣子:
@page = Page.find(params[:id], :include => :page_translations)
你在期待什麼?當你做page.page_translations時你會得到什麼? – 2010-10-09 00:01:20
夥計。我只是想通了!我會在下面更新我的答案... – John 2010-11-01 04:01:54
下面是一個很好的答案相同的問題:http://stackoverflow.com/questions/27523326/when-joining-table-rails-anyway-makes-additional-request-when-accessing - 字段 – 2014-12-17 11:07:54