2011-03-28 2 views
0

처음으로 레일즈 3에서 join을 시도하고 있으며, 가장 기본적인 작업을 수행 할 수 없으므로 중요한 것을 놓치고 있어야합니다. 내가 조인을 사용하여 콘솔에서 테스트를 할 때 Rails3 : 단순한 조인에서 "no attribute named ..."를 얻습니다.

class Member < ActiveRecord::Base 
    belongs_to :status 
    ... 
end 

class Status ActiveRecord::Base 
    has_many :members 
    ... 
end 

을 감안할 때
time_range = (Time.now.midnight - 1.day)..Time.now.midnight 
Status.joins(:members).where('member.created_at' => time_range) 

내가 오류 메시지가 레일 가이드에서 적응 예를 들어,

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'member.created_at' in 
    'where clause': SELECT `statuses`.* FROM `statuses` INNER JOIN `members` ON 
    `members`.`status_id` = `statuses`.`id` WHERE (`member`.`created_at` BETWEEN 
    '2011-03-26 23:00:00' AND '2011-03-27 23:00:00') 

두 모델 created_at 열을 가지고 있으며 작동합니다 : Member.where(:created_at => time_range). 여러 순열을 시도하고 다른 열을 사용했지만 조인을 시도 할 때마다 동일한 Unknown column 오류가 발생합니다.

답변

2

구성원이어야합니다. :) db 테이블 이름을 명시 적으로 사용할 때 레일 규칙에 의해 복수형임을 기억하십시오.

+0

멋진! 감사. –

관련 문제