2015-05-19 75 views
0
Ruby 2.1.5 
Rails 4.1 

我已经继承了一些代码,其中一些列中有空格。如何从视图访问这些列。例如:在视图中使用列名称中的空格访问列

Table: expenses 
Columns: Jan 2015 
     Feb 2015 

在expenses_controller.rb,我有

@epxenses = Expense 

在视图/费用/ index.html.erb,以下是行不通的:

@expenses.each do |e| 
    e.jan 2010 

任何想法?

+0

我猜的ActiveRecord可以snake_case列名'e.jan_2010'。听起来像一个非常糟糕的数据库设计,你有我的同情心... – max

回答

2

可以使用[]attributes[]访问:

expense = Expense.last 
expense['Jan 2015'] 
expense.attributes['Jan 2015'] 
0

Rails/Active记录不应该在字段名称中使用空格生成迁移,或者如果您明确地告诉它,我会好奇为什么,因为它可能会不方便前进。如果您连接的是在AR之外创建的数据库,那么您可能会从数据模型中的字段名别名获益。

alias_attribute :new_column_name, :column_name_in_db 
+0

Rails没有生成迁移的问题。我怀疑它不应该有,但当我看到迁移文件,如:add_column:expenses,'2010年1月,:整数工作正常。感谢别名的建议,我会尝试一下 – EastsideDeveloper

相关问题