私はウェブストア向けのAjaxベースのソリューションを作ろうとしています。だから私はカートを持っています、そしてユーザーが何かを追加するとき、私はすべてのページをリロードするのではなく、「カート」テンプレートだけをリロードしたいと思います。(ラインアイテムはカートに属します)ラインアイテムにメソッドを作成します。
#usualstuff
respond_to do |format|
if @line_item.save
format.html { redirect_to(store_url) }
format.js
format.xml { render :xml => @line_item,
:status => :created, :location => @line_item }
else
...
create.jsファイルを/views/line_itemsに配置します
だからここに問題があります。
実際に動作します。しかし、「カートに追加」ボタンをクリックしても、ページをリロードするまで何も変わりません。
サーバーログが表示されます:
Rendered line_items/create.js (0.0ms)
0.0ms-確かに何かが間違っていることを意味しますが、私はこれを理解することはできません。レールがそれを開くだけで何もしないように見えます。
理由は何でしょうか?
create.jsのコード
page.replace_html('cart' , render(@cart))