有没有办法通过ajax动态呈现表单助手?

时间:2014-02-05 13:35:48

标签: ruby-on-rails ruby-on-rails-4

问题是:

我需要通过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变量。 我这样做了吗?还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我会在这里使用实际的HTML。尝试使用完整代码渲染此页面,检查它,然后将渲染的html复制/粘贴到部分代码中。我确信有一种方法可以用助手破解它,但这种方式似乎更容易。

相关问题