问题是:
我需要通过ajax渲染一个复选框集合,所以我有这个:
$("#imovel_tipo_imovel_id").on "change", ->
$.get("/admin/caracteristicas", { tipo_imovel_id: $(this).val() })
当我更改选择值时,它将命中我的控制器并渲染一组复选框。问题是我需要呈现的部分必须在表单内并发送回不同的控制器。
= simple_nested_form_for @imovel do |f|
.caracteristicas
= render 'my_partial', f: f
部分
= f.simple_fields_for :caracteristicas_imovel do |c|
= c.collection_check_boxes :caracteristica_id_in, @caracteristicas, :id, :descricao
js.erb回应:
$(".caracteristicas").html("<%= render 'my_partial' %>")
控制器:
def index
respond_to do |format|
format.js { @caracteristicas = Caracteristica.where(tipo_imovel_id: params[:tipo_imovel_id]) }
end
end
你知道吗?因此,当我尝试通过ajax渲染我的部分时,它抱怨它没有f
变量。
我这样做了吗?还有更好的方法吗?
答案 0 :(得分:0)
我会在这里使用实际的HTML。尝试使用完整代码渲染此页面,检查它,然后将渲染的html复制/粘贴到部分代码中。我确信有一种方法可以用助手破解它,但这种方式似乎更容易。