2014-02-05 138 views
1

的問題是:有沒有辦法通過Ajax動態呈現表單助手?

我需要呈現通過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 responde:

$(".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

我只是在這裏使用實際的HTML。嘗試使用完整的代碼來渲染此頁面,檢查它,然後將渲染的html複製/粘貼到您的部分。我確信有一種方法可以用助手來破解它,但這樣看起來更簡單。

相關問題