Ruby on Rails 3.我有一个包含几个div块的页面。我试图将它们分成两页。我想在页面底部有一个按钮,它会改变渲染的部分。
“渲染'新闻'”是第一个部分加载的。我希望“存档新闻发布”按钮将“新闻”更改为“archive_news”
<%= render 'news' %>
<%= link_to render(:partial => 'archive_news'), :class => 'btn' %> <button type="button" class="archive">Archived News Postings</button>
我可以获得指针吗?谢谢
答案 0 :(得分:1)
这取决于你想要实现的目标。例如,可以考虑这两个选项:
1)您可以同时获取新闻和已存档的新闻。然后使用相应的新闻项呈现两个div。显示有新闻的那个,而另一个在CSS中有display: none;
。这允许您使用JavaScript来切换div的可见性。这显然有一些数据量等方面的缺点,但它给出了一个想法。
这些方面的东西:
控制器:
def some_action
@items = ...
@archived_items = ...
end
视图:
<div id="news">
<% @items.each do |i|
...
</div>
<div id="archived_news">
<% @archived_items.each do |i|
...
</div>
的CSS:
#archived_news {
display: none;
}
2)另一种方法是依赖于异步获取新闻项目,因为用户想要“切换”。这可以通过AJAX完成。如果数据集很大,这允许更大的灵活性。您甚至可以以某种方式“获取更多”,如果需要,可以根据需要加载存档的新闻项目。
如果你对可能需要的内容有所了解,可以给出一个更具体的答案。