【发布时间】:2015-04-17 02:35:31
【问题描述】:
我正在尝试使用 jQuery 呈现部分内容。动作流是单击一个按钮,jquery 对我的控制器进行 AJAX 调用,然后在响应时呈现部分传递数组。无论我多么努力,我都无法做到这一点。我设置的 html(即 ruby)呈现为纯文本而不是 ruby。是的,我确实有一个 _cart.html.haml 文件。
function updateCart( id ) {
$.ajax({
url: '/items/add_item',
data: {'id': id },
method: 'POST'})
.done ( function ( data ) {
var cart = data;
var cart_items = data["cart_items"];
var cart_total = data["cart_total"];
$('#cart-wrapper')
.html("#{ escape_javascript(render(partial: 'items/cart', collection: " + cart_items + ", as: 'cart_items')) }");
});
}
提前感谢您的帮助!
编辑: 添加了 add_item 方法
def add_item
cart = session[:cart] || Cart.new
cart.add_item(params[:id])
respond_to do |format|
format.json do
Create an array from the search results.
results = {
cart_items: cart.cart_items,
cart_total: cart.total
}
render json: results
end
end
session[:cart] = cart
end
【问题讨论】:
标签: jquery ruby-on-rails ajax haml