Rails模型中的datetime字段的问题

时间:2011-02-09 22:29:29

标签: ruby-on-rails-3

我在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]

怎么了?

1 个答案:

答案 0 :(得分:1)

我不确切知道导致错误的原因,但我可以告诉您,为了解决这个问题,您需要将属性名称datetime更改为sent_on(大多数其他内容) ,真的)。

为什么会出错?我猜这是因为datetime是SQL中的数据类型,因此不应该用作列名,但错误似乎来自ruby - 无论是你的模型还是ActionView,所以我是不确定这是否支持我的理论...

无论如何,希望这有帮助!

更新:我刚测试过,你可以在SQL中使用“datetime”作为列名(至少是MySQL)。那就是那个理论 - 它是一个Rails的东西,然后,我猜......