我创建了一个有project模型的应用程序.模型中存储了一些信息,用户可以向project(使用comment模型)添加注释.在项目的show视图中,我希望用户能够在"info"部分(包含项目信息和"注释"部分(包含项目中写的注释))之间切换.我想使用AJAX.所以我将有两个按钮:信息和评论.
现在我知道如何基于"远程链接"呈现部分,但我还必须找出点击了哪个链接.到目前为止,我可以在点击一个链接时渲染一个部分,如下所示:
// In show.html.haml
= link_to("Information", :project, :id => "link_one", :remote => true)
= link_to("Comments", :project, :id => "link_two", :remote => true)
#partial_window
// In show.js.haml
$("#partial_window").html("#{j(render("comments"))}")
Run Code Online (Sandbox Code Playgroud)
现在,_comment.html.haml当我点击其中一个链接时,这会呈现部分.我需要知道的是如何检查单击了哪个链接,然后呈现适当的部分:_info.html.haml或_comments.html.haml.
在此先感谢您的帮助!
我在"事件"页面视图中有4个选项卡部分.我有它工作的地方,在请求事件页面时,获取并呈现每个选项卡的所有内容.对于可扩展性而言,这似乎不是一个好的解决方案......
单击选项卡时,如何使用AJAX获取每个选项卡的内容?
(第一次这样做......理论上看起来很简单,但却没能让它运转起来)
我尝试添加remote: true选项卡链接,但这与页内引用不相符 - 它对Events#Show所有选项卡进行相同的获取请求,这使得难以确定请求哪个选项卡内容.如果我将tab href更改为各自的控制器链接,则会中断bootstrap选项卡切换.我无论如何都在失去.
每个选项卡的内容都分为不同的控制器,因此可以获取单个内容.
对于选项卡#2,我需要获取活动的内容nav-pill.如果我在Tab#2上,我想将其内容从Overview切换到Details,然后使用nav-pills按钮链接返回.
使用Rails 4 w/bootstrap 3,haml,coffeescript.
事件/ show.html.haml
/ Nav tabs
%ul.nav.nav-tabs.color
%li.active
=link_to "Tab1", "#tab1", html_options = { "data-toggle" => "tab" }
%li
=link_to "Tab2", "#tab2", html_options = { "data-toggle" => "tab" }
%li
=link_to "Tab3", "#tab3", html_options = { "data-toggle" => "tab" }
%li
=link_to "Tab4", "#tab4", html_options = { "data-toggle" => "tab" }
/ Tab panes
.tab-content
.tab-pane.active#tab1
%p Fetch content …Run Code Online (Sandbox Code Playgroud)