2012-04-17 32 views
6

Tôi có một cuộc gọi AJAX jquery tải một cửa sổ. Trong cửa sổ, có một biểu mẫu có gửi để cho phép người dùng tải xuống một mục. Tôi phải làm cho biểu mẫu thứ hai này sử dụng một lần gửi thông thường để tôi có thể nhắc tải xuống.
Vấn đề của tôi là khi không có tệp để tải xuống, nó chuyển hướng đến trang có tệp này.
Tôi đang thử nhiều kiểu khác nhau để làm cho nó không hiển thị gì cả, nhưng không có cách nào trong số chúng có vẻ hoạt động.
Cách thực hiện: render => không có gì hoạt động

unless params[:controller] == "reports" 
    unless @jobs.present? 
    flash.now[:error] = "No work orders for this selection." 
    render :nothing => true 
end 
end 

Cũng

respond_to do |format| 
    format.html { render :nothing => true } 
end 

Không có gì có vẻ làm việc. Bất kỳ ý tưởng?

+0

'respond_to do | format | format.html {render: nothing => true} end' hoạt động cho tôi. – zsquare

+0

hiện 'return render: nothing => true' tạo ra sự khác biệt nào? – Jonathan

+0

bạn có chắc chắn '@ jobs' trống không? render sẽ hoạt động, vì vậy nó có thể là điều kiện bỏ qua 'render: nothing => true' – Vikko

Trả lời

18

Không sử dụng render: nothing. Điều này sẽ "thất bại" yêu cầu ajax. Thay vào đó, hãy sử dụng:

render json: nil, status: :ok 
Các vấn đề liên quan