2013-04-30 39 views
0

爲什麼我用simple_form和hstore得到'undefined method'?

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

+0

zipcode是'data'散列中的一個屬性嗎?如果是這樣,我不認爲你可以以這種方式訪問​​它,我懷疑simple_form將處理序列化字段。也許這個線程可以幫助你http://stackoverflow.com/questions/9613208/serialized-hash-field-and-simple-form – 2013-04-30 13:52:10

+0

以及爲什麼它應該工作? – fotanus 2013-04-30 14:00:00

回答

1

simple_form只能爲模型的屬性創建輸入,並且它看起來像zipcode不是User模型的屬性。

您應該運行遷移以將此列添加到Users表中,然後您將能夠存儲用戶的郵政編碼。

相關問題