Почему я получаю «неопределенный метод» с simple_form и hstore?

у меня есть

class User < ActiveRecord::Base
  attr_accessible :email

  validates :email,
    presence: true

  serialize :data, ActiveRecord::Coders::Hstore

end

а также

<%= simple_form_for User.new do |f| %>
  <%= f.input :email %>
  <%= f.input :first_name %>
  <%= f.input :zipcode %>
  <%= f.button :submit, 'Sign up' %>
<% end %>

Почему, когда я хочу Sign up, я получаю сообщение об ошибке:

undefined method `zipcode' for #<User:0x007fd397631650>

Полная трассировка: https://gist.github.com/3c9df05758ea3d486989


person tomekfranek    schedule 30.04.2013    source источник
comment
Является ли почтовый индекс атрибутом в хеше data? Если это так, я не думаю, что вы можете получить к нему доступ таким образом, и я сомневаюсь, что simple_form будет обрабатывать сериализованное поле. Возможно, этот поток может помочь вам stackoverflow.com/ вопросы/9613208/   -  person Wizard of Ogz    schedule 30.04.2013
comment
а почему это должно работать?   -  person fotanus    schedule 30.04.2013


Ответы (1)


simple_form может создавать входные данные только для атрибутов модели, и похоже, что zipcode не является атрибутом вашей User модели.

Вы должны запустить миграцию, чтобы добавить этот столбец в свою таблицу Users, и тогда вы сможете сохранить почтовый индекс пользователя.

person AlexBrand    schedule 30.04.2013