我在rails应用中渲染视图时遇到问题。 我尝试创建一个主页,加载我的应用程序的每个工具(5-6不同),但我想允许用户逐个调用它们,而无需重新加载页面(如一些saas应用程序)。
我尝试使用welcome / index.html.erb页面,使用ajax呈现每个视图:
<button class="button1"></button>
<button class="button2"></button>
<button class="button3"></button>
<%= render "tools1/index %>
<%= render "tools2/index %>
<%= render "tools3/index %>
...
如果用户点击button1,然后在用户点击button2等时隐藏tools1和show tools2,我怎么能只显示工具1? 另一个问题是,这是一种有效的方法吗?
编辑:
我的错,它不清楚。关键是我不想在开头渲染每个页面,完美的东西是逐页加载(不仅仅是显示)它们,就在用户调用它们时
由于
答案 0 :(得分:2)
快速AJAX加载程序示例
在HTML中添加一些链接/按钮:
<a class="ajax-load" href="/url1">Page 1</a>
<a class="ajax-load" href="/url2">Page 2</a>
<a class="ajax-load" href="/url3">Page 3</a>
<div class="ajax-content"></div>
添加此jQuery代码:
$(document).ready(function(){
$('.ajax-load').on('click', function(e){
e.preventDefault();
$('.ajax-content').load($(this).attr('href'));
});
});
现在,当用户点击任何链接时,内容将加载AJAX。
上一个回答
由于您在视图中渲染页面,因此您无需再次加载它们。我建议使用一些jQuery插件为你做这个。