所以,对于我的Rails项目,我有两个名为ButtonOrderDiv和ButtonFinishDiv的模型。它们具有has_many / belongs_to关系,其中button_order_div具有许多button_finish_div并且每个button_finish_div属于button_order_div。我正在尝试编写代码,以便在用户创建新的button_order_div时,会自动创建正确数量的button_finish_divs。 button_order_divs有一个名为number_of_parts的字段,它是要创建的button_finish_divs的数量。现在,这是我在ButtonOrderDiv控制器中的代码:
def create
@button_order_div = ButtonOrderDiv.new(button_order_div_params)
respond_to do |format|
if @button_order_div.save
number = @button_order_div.number_of_parts
for i in number
ButtonFinishDiv.create(button_order_div_id: @button_order_div.id, part: i)
end
format.html { redirect_to @button_order_div, notice: 'Item criado com sucesso.' }
format.json { render :show, status: :created, location: @button_order_div }
else
format.html { render :new }
format.json { render json: @button_order_div.errors, status: :unprocessable_entity }
end
end
end
正如你所看到的,在if @ button_order_div.save条件中,我正在尝试创建一个新的ButtonFinishDiv,但它给了我"未定义的方法`每个' 3:Fixnum"错误。我如何使这项工作?
答案 0 :(得分:1)
数字(Fixnum
)没有方法each
(当你执行for x in y
时,你试图遍历一个数字),这是array
特有的1.upto(number) do |i|
ButtonFinishDiv.create(button_order_div_id: @button_order_div.id, part: i)
end
1}}数据结构。你想要的是这样的:
$conn = mysql_connect("localhost", "xxxxxx","xxxxxxx");
mysql_select_db("xxxxxxx", $conn) or die(mysql_error($conn));