2011-11-19 47 views
9

Đây là một vấn đề rất lạ. Tôi đã có một ứng dụng đường ray trong đó tôi đang thay thế một phần trên trang này bằng một phần khác bằng cách sử dụng UJS. Gần đây, nó ngừng hoạt động, vì vậy tôi bắt đầu đăng nhập trong suốt quá trình để xem nơi nó đã phá vỡ. Dưới đây là những gì tôi tìm thấy:đường ray ujs - javascript không thực hiện

  • Sau khi liên kết được nhấp, bảng điều khiển đường ray cho tôi biết mọi thứ được hiển thị, bao gồm tất cả partials và trả về 200 OK.
  • Một đặt trong các hành động điều khiển trả về mỹ
  • Một đặt trong lợi nhuận khối respond.do tốt
  • Một đặt trong file .js.erb trả tốt

Điều này có nghĩa nó nhận được tất cả các cách để chạy tệp .js.erb và đánh giá ruby ​​không có lỗi. Nhưng đây là điều kỳ lạ - không có javascript nào đang thực thi. Khi tôi chạy cảnh báo ('hello?') Trong tệp .js.erb, nó không thực thi.

Có ai từng gặp vấn đề này trước đây không? Nó có vẻ cực kỳ kỳ lạ rằng nó sẽ chạy đánh giá erb nhưng không phải là js. Và không có lỗi nào xuất hiện trong giao diện điều khiển js.

Đối với bản ghi tôi có: xóa bộ nhớ cache, khởi động lại trình duyệt, khởi động lại ứng dụng đường ray và không có gì thay đổi. đang

mẫu:

# view 
link_to 'example', some_path, :remote => true 

# controller 
respond_to do |format| 
    format.js 
end 

# .js.erb file 
alert('this never shows up'); 
<% puts 'this shows up in the rails console' %> 

Cảm ơn soo nhiều cho bất cứ ai có thể đổ một chút ánh sáng về vấn đề này lạ!

+0

Mọi thứ trong bảng điều khiển JS? –

+0

"Và không có lỗi xuất hiện trong giao diện điều khiển js." –

+1

Xin lỗi; Tôi tự động bỏ qua các câu bắt đầu bằng các liên từ. –

Trả lời

9

Bất kỳ cơ hội nào có lỗi trong js? Yêu cầu ajax không hiển thị bình thường trong giao diện điều khiển js. http://www.alfajango.com/blog/rails-js-erb-remote-response-not-executing/

(Môi trường tương tự chạy tốt trên máy của tôi)

+0

Haha quyền của bạn, nó xuất hiện trong tab mạng của thanh tra chrome (theo XHR, như tôi đã đề cập). Bảng điều khiển javascript vẫn trống. Đây là một bài tuyệt vời mặc dù, tôi sẽ kiểm tra xem nó và xem nếu giải quyết nó! Cảm ơn ~ –

+0

Trong bài viết này, nó nói để kiểm tra xem nó đang được xử lý "như JS" - đối với tôi, nó nói nó đang được xử lý như JS. Vì vậy, tôi nhấp vào liên kết thay thế bạn cung cấp và nó đã cho tôi một lỗi 404. –

+0

Ya tôi cũng nhận ra rằng: (nhưng phần dưới cùng của bài viết cung cấp một cách để kiểm tra js được hiển thị cho lỗi trong firebug. Điều này có thể cung cấp cho bạn một số thông tin chi tiết về những gì đang diễn ra) –

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