2016-05-31 18 views
0

質問や質問をどのように開始するのか分かりませんが、AJAXビューを他のページに再利用することができます。私は既存のAJAXビューを持っています。サイドバーからリンクをクリックすると、新しいページをレンダリングしてから、AJAXビューを呼び出します。ビューをレンダリングしてから、既存のAJAXビューを呼び出す

以下のサンプルコードを参照してください。あなたが私の問題を理解することを願っています

def index 
    @items = Item.all 
end 

items_controller.rb others_controller.rb
def category 
    @categories = Category.all 
end 

ビュー/商品/ index.html.erb

<%= @items.count %> 
<div class="ajax_form"></div> 

ビュー/その他/ category.js.erb

$(".ajax_form").html("<%= escape_javascript(render 'category') %>"); 

ビュー/他/ category.html.erb

<%= @categories.count %> 

私はサイドバーからリンクをクリックした後、私はそれを再作成することなく、また、AJAXを呼びたいです。

<a href="<%= items_path %>" > 
    click_me 
</a> 
+0

click_meのリンクをクリックするとアイテムコントローラのインデックスアクションに送信され、他のコントローラのカテゴリアクションにajaxリクエストが送信されますか? – Prity

+0

@Prity ..はい..私は両方を呼びたいと思っています..もし可能でないなら、itemメソッドにcategoryメソッドを入れることができますが、 'items/index.html.erb 'のビューにajaxを表示したい' –

答えて

1

あなたは、このように余分なパラメータを送信することにより、これを行うことができます。

<a href="<%= items_path %>?fetch_category=true" > 
    click_me 
</a> 

def index 
    @items = Item.all 
    @fetch_categories = params[:fetch_category] unless params[:fetch_category].blank? 
end 

そして最後にあなたの意見/項目が/インデックス内のアイテムコントローラのあなたのindexアクションを変更します。 html.erbこれらの行をファイルの最後に追加します。

<script> 
    $(function(){ 
    <% if @fetch_categories %> 
     $.ajax({ 
     url: "<%= others_category_path %>", 
     type: "GET", 
     data: {} 
     }); 
    <% end %> 
    }); 
</script> 
+0

ありがとうございました^ _^.. –

関連する問題