Rails的3 AJAX更新部分不工作不刷新页面 [英] Rails 3 ajax update partial doesnt work without page refresh
问题描述
我工作的一个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 }))%>);
产品页
< DIV 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 %>");
这篇关于Rails的3 AJAX更新部分不工作不刷新页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!