在 Rails 中创建具有不同视图选项的视图页面的最佳实践是什么,例如具有主要文本的基本视图和具有图形功能的高级视图?更具体地说,我想要一个视图页面,用户可以在其中切换基本/高级显示视图。单击切换按钮会呈现一组与所选视图相对应的 div。这应该通过 html 标记中的 form_for/if-else 语句来完成,还是最好在 javascript 中完成?我想打开<div id="id">
/关闭可以通过以下方式在javascript中完成:
$("#id").show()
$("#id").hide()
我在理解如何完成 rails 实现时遇到问题,我在哪里放置 if-else 语句(即,如果用户基本视图切换为 render <div id="basic">
,else <div id="advanced">
)?
<%= form_for ??? do |f| %>
...
<%= f.submit ??? %>
<% end %>
编辑2:
<div class="row">
<div class="span6">
<div class="btn-group" id="basic-advanced" data-toggle="buttons-radio">
<a class="btn btn-small" href="#" id="basicbutton">Basic</a>
<a class="btn btn-small" href="#" id="advancedbutton">Advanced</a>
</div>
</div>
</div>
<div class="container" id="basic">
This is the basic view
</div>
<div class="container" id="advanced">
This is the advanced view
</div>
现在在javascript中我有以下内容:
$("#basic").toggle();
$("#basic-advanced").click(function (){
$("#basic").toggle();
$("#advanced").toggle();
});
我已经添加了上面的代码,但是如何跟踪页面处于哪种查看模式?从答案来看,似乎可以将实例变量@viewing_mode 设置为与模式相对应的值,但是应该怎么做呢?通过表格?
更新:我设法使用会话变量和 if/else 语句实现了切换,这里描述了该过程:Session variable not persisting after switch。