我(在Rails 3.2.13中):
class User < ActiveRecord::Base
has_many :app_event_login_logouts
end
class AppEventLoginLogout < ActiveRecord::Base
belongs_to :user
end
并希望得到类似的内容:
AppEventLoginLogoug.select("id, type, users.email").joins(:user)
基本上是id,来自app_event_login_logouts的类型和来自用户的电子邮件,但这似乎不起作用。什么是正确的语法?
答案 0 :(得分:1)
尝试以下代码:
ret = User.joins(:app_event_login_logouts).select('app_event_login_logouts.id, app_event_login_logouts.type, users.email')
ret.first.id # will return app_event_login_logouts.id
ret.first.email # will return users.email
...
答案 1 :(得分:1)
AppEventLoginLogoug.find(:all,
{:include => [:users],
:select => ['id', 'type', 'users.email']})
我还检查了apidoc,发现了类似的内容:
result= AppEventLoginLogoug.find(:all,
:conditions => ['condition_here'],
:joins => [:users],
:select => 'whatever_to_select'
:order => 'your.order')