2015-05-19 41 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

相關問題