很抱歉这个新手问题,我正在尝试在加载我的画廊/节目视图时通过Ajax显示一个简单的警告框。 (在我想显示内容而不是此警告框之后)
到目前为止,这是我的代码:
def show
@gallery = Gallery.find(params[:id])
respond_to do |format|
format.js
format.html # show.html.erb
end
end
// Tell Rails to use .js
jQuery.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
})
$(document).ready(function(){
// How can I load show.js.erb ?
$('body').load()
});
alert('ajax works!');
我无法想象如何让它发挥作用。非常感谢你的帮助。
答案 0 :(得分:2)
远程应用程序js中的所有内容
show.html.erb中的
<%= link_to "Get Gallery", gallery_url(@gallery), :remote => true %>
重新加载/画廊/ show /:id 点击链接
答案 1 :(得分:1)
show.js.erb
时, Rails返回Gallery#show
(评估后)。因此,您可以使用jQuery.get
获取返回的内容:
$.get({'gallery/show/some_id_number', dataType: script});
dataType: script
属性将导致jQuery执行返回的内容(即评估的show.js.erb
的内容)。