我有兩種型號:滑軌:加入 'HAS_ONE' 和'belongs_to的協會
class User < ActiveRecord::Base
has_one :user_profile
end
class UserProfile < ActiveRecord::Base
belongs_to :user
end
一個User
具有一個UserProfile
和UserProfile
屬於User
的表格結構:
用戶
id:整數 name:string 電子郵件:字符串
用戶配置
ID:整數 USER_ID:整數 生物:字符串 BLOG_URL:字符串
使用Rails控制檯,我嘗試通過連接兩個表來獲取用戶的信息:
User.joins(:user_profile).includes(:user_profile).where(user_profiles: {user_id: 1})
控制檯屏幕上的結果只顯示用戶表,UserProfile表不顯示。
=> [#<User id: 1, name: "Alan", email:"[email protected]">]
的SQL語句出現在控制檯屏幕上(在選擇「用戶」,「ID」喇嘛喇嘛......)似乎是正確的,因爲當我複製並粘貼到瀏覽器的SQLite並執行命令,它顯示了我的預期結果。
|id| name | email | id | user_id | bio | blog_url |
------------------------------------------------------------------------------
|1 | Alan | [email protected] | 1 | 1 | lorem ipsum | alan.example.com |
所以我在這裏找到了兩個不同的結果。
什麼可能導致這些表未加入我的控制檯?
瞭解。所以當我需要顯示相關對象的值時,我可能不得不使用'user.user_profile.blog_url'之類的東西。 – Abednego
。它是獨立的對象,它們具有不同的屬性集合,這些屬性通過這些對象上的相應方法公開。 – keymone