/ / невідомий стовпчик mysql, де пункт - але я можу отримати доступ до нього та встановити його в додатку. що це викликає? - mysql, рубін на рейки

невідомий стовпець mysql where clause - але я можу отримати доступ і встановити його в моєму додатку. що викликає це? - mysql, ruby-on-rail

моделі:

   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 встановлює поле в об'єкті пам'яті. Але будь-яке присвоєне йому значення не буде зберігатися в базі даних, і ви не можете запитувати по ній.