/ / Odpowiedź metody kontrolera Rails jako JSON - ruby-on-rails-3.1, najlepiej na miejscu

Odpowiedź metody kontrolera Railsów jako JSON - ruby-on-rails-3.1, best-in-place

Pracuję z połączeniem GEM best_in_place: https://github.com/bernat/best_in_place

Tworzenie nowych rzeczy do zrobienia odbywa się za pomocą:

<%= best_in_place @user, :name, :type => :input, :nil => "Click me to add content!" %>

respond_to :html, :json, :js

def todo_item_fast_create
@todo_list = TodoList.find(params[:id])
@todo_item = @todo_list.todo_items.new(params[:todo_item])
@todo_item.save
respond_with @todo_item
end

Kod odpowiedzi to JSON, ale chciałbym wywołać szablon JS, aby móc manipulować DOM, czy to możliwe?

Odpowiedzi:

0 dla odpowiedzi № 1

Musisz utworzyć szablon widoku z nazwą pliku w następujący sposób: todo_item_fast_create.js.erb ten plik zostanie udostępniony po wywołaniu tej akcji. Być może będziesz musiał dodać :remote => true do przycisku lub łącza, które wywołuje tę akcję.

To jeden z moich plików JS: new.js.erb (wywoływany, gdy planuję nowy eksport).

$("#export_modal").html("<%= escape_javascript(render("new")) %>");
<!-- trigger the modal to open -->
$("#export_modal").modal("show");

$("#popover1").popover();

To wezwanie do escape_javascript(render("new")) renderuje częściową odpowiedź js i pozwalam js obsługiwać aktualizację DOM.