моделі:
class Change < ActiveRecord::Base
attr_accessor :selected_end_index, :selected_start_index, :revision_number
помилка:
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column "revision_number" in "where clause": SELECT * FROM `changes` WHERE (kind = 2 && status = -1 && content_id = 2 && revision_number = 0) ORDER BY id DESC
спосіб:
def new_change_requests_for_latest_version
changes = Change.find(:all,
:conditions => ["kind = ? && status = ? && content_id = ? && revision_number = ?",
Change::CHANGE, Change::NEW, self[:id], self.current_version],
:order => "id DESC")
return changes
end
Відповіді:
2 для відповіді № 1Це означає, що стовпчик не названий"revision_number". Причина, за якою ви можете отримати доступ до нього у своєму додатку, полягає в тому, що attr_accessor встановлює поле в об'єкті пам'яті. Але будь-яке присвоєне йому значення не буде зберігатися в базі даних, і ви не можете запитувати по ній.