ruby-on-rails – Rails:使用按钮通过Ajax渲染部分
发布时间:2020-12-17 02:35:26 所属栏目:百科 来源:网络整理
导读:我目前有一个显示微博列表的页面,该页面还包括几个选项卡,例如最近最常讨论的最常见.我想知道如何在不刷新整个页面和通过ajax的情况下呈现微博的不同类型的列表顺序的最佳方法.我不确定该如何去做,但我愿意学习是否有人借给我帮助.谢谢 :).到目前为止,我有
我目前有一个显示微博列表的页面,该页面还包括几个选项卡,例如最近最常讨论的最常见.我想知道如何在不刷新整个页面和通过ajax的情况下呈现微博的不同类型的列表顺序的最佳方法.我不确定该如何去做,但我愿意学习是否有人借给我帮助.谢谢 :).到目前为止,我有这么多.
页面HTML <div id='ContentHeader'> <%= render 'microposts/new' %> <div class='StreamTabContainer'> <ul class='StreamTabs'> <li class='StreamTab StreamTabRecent active'> <%= link_to 'Most Recent',some_path,:remote => true,:class => 'TabText' %> </li> <li class='StreamTab StreamTabDiscussed'> <%= link_to 'Most Discussed',:class => 'TabText' %> </li> <li class='StreamTab StreamTabViews '> <%= link_to 'Most Views',:class => 'TabText' %> </li> <li class='StreamTab StreamTabRated'> <%= link_to 'Highest Rated',:class => 'TabText' %> </li> </ul> </div> </div> <div id='ContentBody'> <div id='ajax'></div> <%= render 'users/microposts',:microposts => @microposts %> </div> 解决方法
看起来你走在正确的道路上.您的视图在快速浏览时似乎是正确的.
只需要完成这项工作的最后几个部分,首先要确保您的控制器可以接受js调用: # Inside Controller's action respond_to do |format| format.js end 设置完成后,您需要创建javascript以便为每次调用返回客户端.在视图文件夹中创建文件 # app/views/controllerName/actionName.js.erb $('#ajax').html("<%= escape_javascript(render(:partial => 'content',:sortingType => 'type')) %>"); 上面将允许您呈现显示帖子的部分(在此示例中我将其命名为内容),并将sortedType的局部变量传递给partial.该响应将放在div id =“ajax”的html中(来自您的示例).最后一步是创建视图partial,它将按照您希望的方式对所有帖子进行排序 # app/views/resourceName/_content.html.erb # Simply create your view partial here,which uses the :sortingType to display your posts in the order you need 希望这会让你更接近你的意图. 编辑:已实现我的引号存在问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |