如何從資料庫中洗掉一列并用自定義方法替換該列,這樣我就無需更改所有使用舊列的遺留代碼?
# Book.rb
# column available removed from the database
def available?
# add custom available method here
# will return true/false
end
上面的代碼很好,可以用這樣的東西訪問,Book.first.available?. 這里的問題是如何不更改查詢陳述句Book.where(available: true)但仍然得到相同的結果?有沒有辦法創建自定義 rails 方法并且可以在查詢中應用?
uj5u.com熱心網友回復:
據我了解,我認為這可以作業
def available_books
all_available_books = Book.all
all_available_books.select! { |book| book.available? }
end
def not_available_books
all_not_available_books = Book.all
all_not_available_books.select! { |book| !book.available? }
end
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/419424.html
標籤:
下一篇:RAILS呼叫`DidYouMean::SPELL_CHECKERS.merge!(error_name=>spell_checker)'已被棄用
