我正在寻找一种在保存新车时在表格中显示多个表格的方法。
我不知道如何使用Cars Options进行迭代以通过Cars& “汽车create.js.erb”
中的值形式的选项参数cars.rb
def create
...
if @car.save
@fleet.options.each do |option|
new_value = Value.new(car_id: @car.id, option_id: option.id)
new_value.save
@options_values << [option.id, new_value.id]
end
respond_to do |format|
format.html { redirect_to edit_fleet_path(@fleet) }
format.js
end
...
end
每次创建汽车时,我都会尝试在表格中显示新列并显示每个现有选项(表格的行),并显示相应的价值表格。
create.js.erb
<% if @car.errors.any? %>
$("#newCarForm").html("<%= j render 'cars/form', fleet: @fleet, car: @car %>"); // => it's ok
<% else %>
$("#newCarForm").before("<td></td>"); // => it's ok
$("#carTitleRow th:last-child").after("<th><%= @car.title %></td>"); // => it's ok
$("#carUrlRow td:last-child").after("<td><%= @car.url %></td>"); // => it's ok
// MY PROBLEM IS BELOW
var newcell = $("<td>Hello</td>")
$("*[id^='optionRow-']").append(newcell);
<% end %>
每个#optionRow-XXXX
XXXX都是相应选项的ID。
我在@options_values数组中有相同的ID
我希望能够为每个#optionRow-XXXX
进行迭代,寻找正确的选项和价值,并将它们以参数传递给&#39; values / form&#39;最后得到类似的东西:
var newcell = $("<td><%= j render 'values/form', option: @option, value: @value %></td>")
在我的测试中,我遇到了这些问题:
@option_values.each
但没有成功答案 0 :(得分:0)
您必须使用我认为的locals对象传递这些变量。而不是
$("<td><%= j render 'values/form', option: @option, value: @value %>
DO
$("<td><%= j render 'values/form', locals: {option: @option, value: @value} %></td>")