Ruby on rails 当列名有空格时,如何为时间戳指定ActiveRecord属性?
我的postgres数据库中有这样一列:Ruby on rails 当列名有空格时,如何为时间戳指定ActiveRecord属性?,ruby-on-rails,postgresql,activerecord,Ruby On Rails,Postgresql,Activerecord,我的postgres数据库中有这样一列: "Last Execution Timestamp" timestamp without time zone, 字面上是一个带有空格的引号中的列名,表示时间戳 如何在ActiveRecord中设置和获取这样的属性?我在factory_girl中尝试了以下方法: object["Last Execution Timestamp"] = rand(0..60).days.ago 这会导致以下异常: gems/ruby-2.0.0-p0@ddr-rail
"Last Execution Timestamp" timestamp without time zone,
字面上是一个带有空格的引号中的列名,表示时间戳
如何在ActiveRecord中设置和获取这样的属性?我在factory_girl中尝试了以下方法:
object["Last Execution Timestamp"] = rand(0..60).days.ago
这会导致以下异常:
gems/ruby-2.0.0-p0@ddr-rails4/gems/activerecord-4.0.0/lib/active_record/attribute_methods/time_zone_conversion.rb:36:
dynamic constant assignment
def Last Execution Timestamp=(time)
/ruby-2.0.0-p0@ddr-rails4/gems/activerecord-4.0.0/lib/active_record/attribute_methods/time_zone_conversion.rb:38:
syntax error, unexpected tCONSTANT, expecting ')'
... read_attribute(:Last Execution Timestamp)
尝试创建alias_属性时出现相同的异常。。
如果列类型是“日期”,则相同的代码也可以工作,但这需要是时间戳。有什么建议吗?加载rails控制台。检查Object.new.methods的结果并查看它的名称。rails控制台将不会加载,在加载任何内容之前出现此错误您需要在执行任何测试之前注释掉有问题的代码。您是否尝试过转义,如Object[“Last\Execution\Timestamp”]?这看起来像是一个重复的问题。请看:“