2017-02-24 5 views
0

私はProductモデルを持っています。ビュー内のリンクをクリックすると、モーダルが特定のproductに関連するデータで表示されます。私は製品iddata-attributeのリンクに保存しています。これは、AJAX機能を呼び出すRails + AJAX:ActiveRecordオブジェクトを使用してモーダルを読み込み

# They click the label containing the data-attribute 
<% @products.each do |prod| %> 
    <%= f.label prod.name, data: {id: prod.id}, class: "product-info" %> 
<% end %> 

# Modal 
<div class="modal" id="product-modal"> 
    <div class="modal-dialog" role="document"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <h4 class="modal-title text-center"><strong>Nutrition Facts:</strong></h4> 
     </div> 
      <div class="modal-body"></div> 
     </div> 
    </div> 
</div> 

は、その後、私は、ユーザーがクリックしますリンクを持つ

$(".product-info").click(function() { 
    url = "/products/" + $(this).data("id") 
    $.get(url, function(data) { 
     console.log(data) # nothing shows here 
    }, 'script') 
}) 

を...最終的に私は、次のと私のproducts/show.js見解を持っています:

$(".modal-body").html(<%= escape_javascript(render :partial => '/food_orders/nutrition', :locals => {prod: @product}) %>) 
$("#product-modal").fadeIn(); 
console.log("Is this working?"); # I never see this in the console 

私の開発者ツールでは、ajaxリクエストへの応答にはshow.jsが含まれていますが、これはユーザーに表示されることはありません。

答えて

0

全体的な問題は、私のerbが引用符で囲まれていなかったためです。

私が変更されました:

$(".modal-body").html(<%= escape_javascript(render :partial => '/food_orders/nutrition', :locals => {prod: @product}) %>) 

をする:

$(".modal-body").html("<%= escape_javascript(render :partial => '/food_orders/nutrition', :locals => {prod: @product}) %>") 
+0

あなたは答えとしてそれをマークする必要があります。.. – uday

関連する問題