2014-03-04 68 views

回答

3

我不喜歡看到實際的where代碼,所以我通常做這樣的:

@invites = User.where.not(invitation_accepted_at: nil).where(invited_by_id: @user.id) 

注意這個用途rails 4語法where.not

+1

我喜歡新的語法,但我不喜歡連接幾個where子句(.where(..)。where(...))來獲取(... AND ...) 。就像在SQL中,我喜歡只有一個where子句。 –

+1

我個人不介意他們,但其中一個方法是創建類方法('self.invitation_not_accepted') –

1

我猜該字段invitation_accepted_at將是nil,直到邀請被接受爲止。因此,這將是查詢(使用Rails 3以及兼容):

@invites = User.where("invited_by_id = ? AND invitation_accepted_at IS NOT ?", @user.id, nil)