rails的migrate如何动态创建字段?

有一个表是这种结构,user_id,item_1,item_2,item_3,....item_180

想问问使用rails的migrate进行定义的时候,有没有比较简单的动态创建办法?

尝试了这种写法:

count=1
until count>181 do
t.integer :item_'+count.to_s
count = count+1
end

运行的时候,报错,意思是,undefined method `+'

目前找到的一种比较笨的方法是,将这种动态创建字段的语句放到migrate文件的sql附加部分,直接通过sql来写。

但是还是很想知道,有没有不通过sql而是直接通过ruby语句的写法?

t.integer “item_'”+count.to_s

:item_' 是没有这个方法的

你的写法应该可行。你遇到的错误是语法问题。