Rails的3 AJAX更新部分不工作不刷新页面页面、部分、工作、Rails

由网友(找回遗失的自己)分享简介:我工作的一个Rails 3的购物车。我有一个目录页,显示所有的产品和一个部分,让购物车的一个要点。所以,无论产品的用户添加至购物车显示在这个购物车的部分。现在,这是行不通的。我已经增加了产品放入购物车后打刷新,否则部分不更新。I'm working on a Rails 3 shopping cart. I've...

我工作的一个Rails 3的购物车。我有一个目录页,显示所有的产品和一个部分,让购物车的一个要点。所以,无论产品的用户添加至购物车显示在这个购物车的部分。现在,这是行不通的。我已经增加了产品放入购物车后打刷新,否则部分不更新。

I'm working on a Rails 3 shopping cart. I've a catalog page that displays all products and one partial that gives a gist of the shopping cart. So whatever product a user adds to the cart is displayed in this shopping cart partial. Now, this ain't working. I've to hit refresh after adding a product to cart, otherwise the partial doesn't update.

下面是我的code:

Cart_Controller添加方法

Cart_Controller add method

DEF增加 @cart = user_cart   @deal = Deal.find(PARAMS [:ID])    @item = @ cart.add(PARAMS [:ID])    闪光[:通知] =增加#{@deal.deal_name}到购物车      @cart = user_cart     的respond_to办|格式|      的format.html {redirect_to时root_path}       format.js     结束

def add @cart = user_cart @deal = Deal.find(params[:id]) @item = @cart.add(params[:id]) flash[:notice] = "Added #{@deal.deal_name} to cart" @cart = user_cart respond_to do |format| format.html{ redirect_to root_path} format.js end

add.js.erb

add.js.erb

$(#shopping_cart)replace_html(<%= escape_javascript(渲染(:部分=>'购物车',:当地人=> {:车=> @cart }))%>);

产品页

< D​​IV ID =shopping_cart>   <%=渲染:部分=> 车/车',    :当地人=> {:车=> user_cart}%>     <%结束%GT; < / DIV>

<div id="shopping_cart"> <%=render :partial => 'cart/cart', :locals => {:cart => user_cart}%> <%end%> </div>

&LT;%=的link_to加入购物车,{:动作=&GT; 添加,:ID =&GT; deal.id}:远程=&GT;真%&GT;

这是我在我的日志中看到:

This is what I see in my logs:

入门获得127.0.0.1在2011-07-02 18点零四分38秒-0700 /车/添加/ 2   处理由CartController#添加为JS   参数:{ID=>2} 渲染车/ _cart.html.erb(9.6ms) 渲染车/ add.js.erb(11.7ms) 完成200 OK在274ms(浏览次数:23.4ms | ActiveRecord的:0.0ms)

Started GET "/cart/add/2" for 127.0.0.1 at 2011-07-02 18:04:38 -0700 Processing by CartController#add as JS Parameters: {"id"=>"2"} Rendered cart/_cart.html.erb (9.6ms) Rendered cart/add.js.erb (11.7ms) Completed 200 OK in 274ms (Views: 23.4ms | ActiveRecord: 0.0ms)

请帮我这个。

推荐答案

尝试

$("#shopping_cart").html("<%= escape_javascript(render(:partial => 'cart', :locals => {:cart => @cart})).html_safe %>");
阅读全文

相关推荐

最新文章