我正在尝试使用will_paginate或kaminari使用Ajax进行分页。
当我点击分页链接时,我的日志显示
Processing by Instructor::FullDashboardController#pupil_leads as JS
和
Rendered instructor/full_dashboard/pupil_leads.js.erb within layouts/main (0.1ms)
但是js没有效果。所以为了测试它我写了
console.log("Hello");
<%logger.debug "This is the js file"%>
alert('Hello Rails');
在js.erb文件中,在我的日志中,我按预期看到This is the js file
,但我的浏览器的js控制台中没有任何内容,警报也没有显示。所以我知道文件正在处理中,因为我的logger.debug工作但没有js。
我如何进一步解决此问题?
Rails 4.1
Ruby 2.1
Full Dash Controller
class Instructor::FullDashboardController < ApplicationController
layout 'main'
...
def pupil_leads
@ivar = Model.where("something = ?", some_object.id).order("created_at desc").page(params[:page]).per(10)
respond_to do |f|
f.js { render :content_type => 'text/javascript' }
f.html
end
end
答案 0 :(得分:19)
将layout: false
选项添加到渲染块:
def pupil_leads
# some code here
respond_to do |f|
f.js { render layout: false, content_type: 'text/javascript' }
f.html
end
end
出于某种原因,Rails无法将请求识别为xhr
,我还注意到必须完整指定视图扩展名(.erb.html
或.slim
)。子>