2016-08-04 86 views
0

我想做一個包含這兩個參數的語句,但我總是收到「錯誤的綁定變量數」錯誤。我已經發布了下面的代碼。任何幫助表示讚賞。Rails控制器中綁定變量錯誤的數量錯誤

控制器:

@open_houses = OpenHouse.upcoming.where('open_houses.start_date >= ?', Date.current, listing_id: @listing.id).order(start_date: :asc) 

錯誤:

enter image description here

+0

是的,你將2個參數傳遞給'.where()'.. - >'Date.current,listing_id:@ listing.id'。它應該是1. –

+0

你可以這樣寫:'where('open_houses.start_date> =?AND listing_id =?',Date.current,@ listing.id)'.. –

回答

2

你必須寫是這樣的:因爲當軌道看where('open_houses.start_date >= ?', Date.current, listing_id: @listing.id),預計where('open_houses.start_date >= ? AND listing_id = :listing_id', Date.current, listing_id: @listing.id),但我認爲

OpenHouse. 
    upcoming. 
    where(listing_id: @listing.id). 
    where('open_houses.start_date >= ?', Date.current). 
    order(start_date: :asm) 

你沒有期待。