2012-01-21 26 views
7

Tôi có một biểu mẫu mà tôi muốn gửi với tùy chọn data-remote=true. Nhưng tôi muốn có json của tôi tạo ra hành động trở lại, sau đó có xử lý bằng javascript đã tồn tại trên trang. Tôi có thể đặt nội dòng gọi lại bằng thẻ form_for không?dữ liệu-từ xa đúng xác định một cuộc gọi lại

Something tương tự như sau:

=form_for @foo,:remote => true, :success => "my_js_stuff" do |f| 

Trả lời

9

Tôi không chắc chắn liệu điều đó có thể thực hiện được nếu không có trình trợ giúp ghi đè đường ray. Nhưng bạn có thể sử dụng các sự kiện jquery ajax và liên kết với chúng. Ví dụ:

$('form#sign-up-form').ajaxError(function(event, request, settings) { 
//do some stuff on error 
}) 

$('form#sign-up-form').bind('ajax:success', function(evt, data, status, xhr){ 
//do some stuff on success 
}) 
5

Bạn sẽ muốn xác định một create.js.erb và/hoặc update.js.erb cho bộ điều khiển foo. Điều đó sẽ trả về javascript mà bạn sẽ thực hiện.

Từ đó, bạn có thể thực thi javascript đã tồn tại trên trang.

+0

Suy nghĩ tốt. +1 Điều này sẽ giúp ích trong trường hợp thành công. Sẽ không giúp đỡ trong trường hợp có lỗi. – Hendrik

Các vấn đề liên quan