比方說,我有一張表,我試圖轉換。它有列名稱Item1,Item2 ... Item25。我沒有對列名稱的控制權,我正在將其轉換爲更好的結構。你可以使用變量來引用Rails中的表格列嗎?
因爲命名約定有一個模式,所以我可以即時創建列名。問題是,當我嘗試將我的變量用作對象鍵時,它將作爲文字而不是變量的內容傳遞。
舉例來說,這個工程:
if !order.item1.empty?
OrderItem.create(
:item => order.item1,
:quantity => order.qty1,
:price => order.price1
)
但是,而不是手工做的是25度的變化,我想不喜歡
i = 1
while i < 25
item_ref = "item" + i.to_s
if !order.item_ref.empty?
OrderItem.create(
:item => order.item_ref,
etc...)
i += 1
end
end
但是,當然,這事不工作。 Rails嘗試查找order.item_ref而不是order.item1,它不存在。
我在這個問題上多次在各種項目上遇到過任何想法?
這是完美的,謝謝你。並感謝關於更好的循環習慣的提示! – James 2011-04-14 16:27:42