1

Rails は初めてです。「Rails を使用したアジャイル Web 開発」について言及しています。ここでは、次の構文を使用して、部分的な '_cart' から別の部分的な '_line_item' をレンダリングしています。

<%= render(cart.line_items) %>

私の質問は、なぜ使用して使用cartしないの@cartですか? 違いはなんですか?

4

4 に答える 4

3

インスタンス変数@cartは部分的に使用できないためです_cart。そのレンダリング ラインはおそらく次のようになります。

<%= render partial: 'cart', locals: {cart: @user.cart} %>

また

<%= render 'cart', :cart => @user.cart %>

したがって、ユーザーのカートはローカル変数として使用できますcart

于 2013-09-12T14:49:18.250 に答える
1

@cart(おそらく) クラスの特定のインスタンスですが、オブジェクト cartを参照するパーシャルをレンダリングしています。cart

于 2013-09-12T14:49:41.220 に答える
1

使用方法は、ビューまたはパーシャルの呼び出し方法によって異なります。

@cart = current_account.cartコントローラーから呼び出しているすべてのビュー、後続のパーシャル、またはヘルパーで使用できるように、インスタンス変数を定義できます。

またはrender :partial=>'cart_page', :locals => { cart: @account.cart }、'cart' という名前のパーシャルにのみ変数を渡す呼び出しを行うこともできます (グローバルに使用できないため、@ は使用しません)。

于 2013-09-12T14:54:43.773 に答える
1

ここで言ったように、 @cart 変数に保存したカートモデルではなく、部分的なカートを使用しているためだと思います。違いは、部分的なカートはビューであり、@cart は変数であるため実際には何でもかまいませんが、ほとんどの場合はカート オブジェクトのモデルです。

于 2013-09-12T14:48:59.143 に答える