主にテキストを含む基本ビューやグラフィカル機能を備えた高度なビューなど、さまざまなビューオプションを使用してRailsでビューページを作成するためのベストプラクティスは何ですか?具体的には、ユーザーが基本的な表示ビューと高度な表示ビューを切り替えることができるビューページが必要です。トグルボタンをクリックすると、選択したビューに対応する1セットのdivがレンダリングされます。これは、htmlマークアップのform_for / if-elseステートメントを介して実行する必要がありますか、それともjavascriptで実行する方がよいでしょうか。<div id="id">
オン/オフの切り替えは、JavaScriptで次の方法で実行できると思います。
$("#id").show()
$("#id").hide()
Railsの実装がどのように行われるかを理解するのに問題があります。if-elseステートメントをどこに配置しますか(つまり、ユーザーの基本ビューが切り替えられた場合<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ステートメントを使用してトグルを達成することができました。手順は、次のとおりです。セッション変数が切り替え後に持続しない。