所以,我尝试做的是点击此按钮后
= button_to( 'Add to cart' , format: 'js', action: "add_product", controller: "shopping_cart", remote: true, params: {product_id: @product.id})
此控制器操作
def add_product
@shopping_cart.add_product @product_id
respond_to do |format|
format.js { render 'add' }
end
end
使用此js的响应为eval
uated(编译后这是.js.coffee视图)
(function() {
window.refreshCartDiv();
}).call(this);
一切似乎都运行正常,但是这个代码而不是浏览器的eval
在新页面上显示为文本。我读到这可能是由于缺乏
//= require jquery
//= require jquery_ujs
application.js
中的,或javascript代码本身的错误,但对我来说没有例子 - require
存在且此代码不会产生错误(已选中)。
控制台还显示了所谓的正确处理
Started POST "/shopping_cart/add_product.js?product_id=11&remote=true" for::1 at 2015-07-25 19:49:18 +0200
Processing by ShoppingCartController#add_product as JS
其他可能的原因/解决方法是什么?