2012-03-04 9 views
0

私は基本的な作業用のアプリケーションを持っています。ここでは、ロジックを表示するかどうかを表すURLパラメータに多く依存しています。 私はUJSとlink_to remote => trueを使ってajaxifyすることができましたが、これらのリンクをクリックすると、表示されたURLは更新されず(意味があります)、他の部分はURLパラメータを読み取れませんURLのパラメータを持つUJSのURL

カテゴリ、この

"TOP10"、のような::アクション=> "インデックス"、 index.html.erb(UJSはそうあなたはそれがどのように動作するかを見ることができる前に)、

<div class="container-fluid"> 
    <% if params[:category] %><div class="row-fluid span6"> 
    <div class="span6"> 
     <%= render :partial => "buglist" %> 
    </div> 
    <% end %> 

    <% if params[:id] %> 
    <div class="span6"> 
     <%= render :partial => "bugdetails" %> 
    </div> 
    <% end %> 

    <% unless params[:category] or params[:id]%> 
    <%= render :partial => "landingpage" %> 
    <% end %> 
</div> 
  1. に私のナビゲーションバーには、複数のためのlink_toを持っています、:category => catname)%>

  2. URLにparams [:category]がある場合は、左側にリストを表示します。このリストのIDをクリックすると、右側のDIVが

  3. と表示されます。 、それは私が(ホームページのいくつかの種類)

これは今は良い作品が、私は私のナビゲーションバーのリンクにリモート=>真追加した場合、それは左のdivのために働くだろうランディングページを呼んでレンダリングしますが、何らかの理由でURLパラメータが表示されないため、#3(ランディングページ)は常に表示されます。また、表示されたURLは常に同じであるため、すべてのlink_to_unless(params ...)は機能しません。 USJで

<% if params[:category] %> 
    $("#buglist").html("<%= escape_javascript(render(:partial => 'buglist')) %>"); 
<% end %> 

<% if params[:id] %> 
    $("#bugdetails").html("<%= escape_javascript(render(:partial => 'bugdetails')) %>"); 
<% end %> 

<% unless params[:category] or params[:id]%> 
    $("#landingpage").html("<%= escape_javascript(render(:partial => 'landingpage')) %>"); 
<% end %> 

答えて

0

index.js.erb

index.html.erb

<div class="row-fluid span6" id="buglist"></div> 
<div class="row-fluid span6" id="bugdetails"></div> 
<div class="row-fluid id="landingpage"></div> 

あなたがアヤックスに機能を切り替えて、ページのリロードを行っていない場合は、可能これらのurlパラメータをセッション変数として使用することを検討してください。そうすれば、必要に応じて更新して表示することができます。

+0

どのように示唆する方法を説明するリンクがありますか? PJAX(http://railscasts.com/episodes/294-playing-with-pjax)の使用についても考えていましたが、まずあなたの提案を見ていきます。 –

関連する問題