Vì vậy, tôi có một trang có nhiều thông báo, mỗi thư có liên kết thay đổi (tinh chỉnh) RATING của thư đó. Khi người dùng nhấp vào liên kết này, tôi muốn có cuộc gọi AJAX cập nhật giá trị cột tương ứng trong cơ sở dữ liệu cho thông báo đó. Khi liên kết này được nhấp, không có gì xảy ra rõ ràng. Không nên làm mới hoặc tải lại trang.Sử dụng link_to remote: true để truyền tham số cho đường ray
Tôi đã cố gắng làm điều này bằng cách sử dụng link_to remote: true, nhưng tôi dường như không thể làm cho nó hoạt động. Tài liệu trực tuyến là khá không rõ ràng về câu hỏi này và với những thay đổi giữa Rails 2 và 3, một số điều như: với không còn được hỗ trợ.
Tôi đã sao chép những gì tôi có cho đến nay, nhưng tôi biết nó xa thậm chí đến gần một giải pháp. Về các tham số tôi cần được chuyển vào cơ sở dữ liệu, tôi cần profile_id, message_id và new_rating.
Cảm ơn trước!
show.html.haml
.status-bar
= link_to "", { action: :refine_result }, remote: true
profile_controller.rb
...
def refine_result
@refinement = ResultRefinement.new
@refinement.profile_id = params[:profile_id]
@refinement.message_id = params[:message_id]
@refinement.save
respond_to do |format|
format.html { render nothing: true }
format.js { render nothing: true }
end
end
result_refinement.rb
class ResultRefinement < ActiveRecord::Base
attr_accessible :profile_id, :message_id, :new_rating, :deleted
belongs_to :profile
end
ảnh vui nhộn. Tôi đã bắt đầu chuyển các tham số và lưu chúng vào cơ sở dữ liệu. Vấn đề duy nhất mà tôi vẫn gặp là ngăn trang chuyển hướng hoặc thay đổi. –
Có vẻ như một tệp js khác đã ghi đè ajax. Đó là lý do tại sao tôi tiếp tục theo liên kết thay vì có ajax đi qua. –