我在Rails模型中遇到datetime属性问题。
模型:
attr_accessor :from, :to, :via, :datetime
erb模板:
<%= f.text_field :from %>
<%= f.text_field :to %>
<%= f.text_field :via %>
<%= f.datetime_select :datetime, :discard_year => true %>
我得到了:
@datetime(4i)' is not allowed as an instance variable name
在这一行:@search_form = SearchForm.new params[:search_form]
怎么了?
答案 0 :(得分:1)
我不确切知道导致错误的原因,但我可以告诉您,为了解决这个问题,您需要将属性名称datetime
更改为sent_on
(大多数其他内容) ,真的)。
为什么会出错?我猜这是因为datetime
是SQL中的数据类型,因此不应该用作列名,但错误似乎来自ruby - 无论是你的模型还是ActionView,所以我是不确定这是否支持我的理论...
无论如何,希望这有帮助!
更新:我刚测试过,你可以在SQL中使用“datetime”作为列名(至少是MySQL)。那就是那个理论 - 它是一个Rails的东西,然后,我猜......