2014-09-01 40 views
1

当使用 'ENTER' 键渲染偏我有当DOM加载Ajax调用在HTML中并不

def get_recommendations 
    respond_to do |format| 
    format.js 
    end 
end 

items/get_recommendations.js.erb

$("#content-recommendation").html("<%= render 'content_recommendation'%>") 

_content_recommendation.html.erb

<h3>Last Visited Items:</h3> 
<p>test</p> 

这是迄今为止,我RoR中看到了奇怪的事情。如果我放入_content_recommendation.html.erb

<h3Last Visited Items:</h3><p>test</p> 

(不含空格)它的工作原理!

回答

0

由于缺乏其他的答案,也许你更愿意尝试以下操作:

#config/routes.rb 
resources :items do 
    get "get_recommendations/:id", action: :get_recommendations, on: :collection 
end 

#app/assets/javascripts/items.js 
if $('#content-recommendation').length { 
    $.ajax({ 
     url:'/get_recommendations/' + gon.item_id, 
    }); 
} 

#app/controllers/items_controller.rb 
class ItemsController < ApplicationController 
    def get_recommendations 
     respond_to do |format| 
      format.js 
     end 
    end 
end 

#app/views/items/get_recommendations.js.erb 
$("#content-recommendation").html("<%=j render partial 'content_recommendation' %>");