ruby-on-rails – rails – 使用AJAX处理布局content_for
发布时间:2020-12-17 01:58:11 所属栏目:百科 来源:网络整理
导读:我有一个应用程序布局模板: %= yield(:railed) % 处理右侧导轨中的接触(右侧列300px).在实际的DEF SHOW页面中,我使用: %- content_for(:railed) do -%HTML STUFF goes here%- end -% 我现在遇到的问题是,对于我的一个控制器,我使用AJAX来点击DEF Show,并将
我有一个应用程序布局模板:
<%= yield(:railed) %> 处理右侧导轨中的接触(右侧列300px).在实际的DEF SHOW页面中,我使用: <%- content_for(:railed) do -%> HTML STUFF goes here <%- end -%> 我现在遇到的问题是,对于我的一个控制器,我使用AJAX来点击DEF Show,并将内容注入页面.这项工作很好,因为它没有得到railed内容,因为format.js响应中没有使用布局模板. 因此,我可以通过AJAX请求获得railed contet显示的智能方式,而不必写入AJAX和amp;的单独页面.非AJAX(直接URL). 思考?我知道一些Rails天才已经想到了这个:) 我的控制器: def show @thing = Thing.find(params[:id]) respond_to do |format| format.html # show.html.erb format.js end end show.js.erb: <%= render :partial =>"thing/show" %> 解决方法
这有点像黑客,但这是我在带有haml和jquery的rails 3.1中做到的:
show.html.haml: - if request.xhr? #content_for_sidebar.hidden =@view_flow.get(:sidebar) ajax_callbacks.js: $("#nav a[data-remote]").live('ajax:complete',function(status,xhr) { $($(this).attr('rel')).html(xhr.responseText); $('#sidebar').html($("#content_for_sidebar").html()); $("#content_for_sidebar").remove(); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |