4

100%慣れていないフレームワークを扱う場合は、実際のエラーが発生したときに気付く可能性を高めるために、無関係な警告を理解してクリーンアップすることをお勧めします。

私が最近得ているものは次のとおりです。

 DEPRECATION WARNING: @model will not longer be implicitly assigned to model

現在のコードベースでは何も壊れていないようですが、警告を完全に理解していないという理由だけで心配しています。パーシャルで@modelを使用しない方が一般的に良いと思いました。

それにもかかわらず、この警告は、この特定の「モデル」が部分的に表示されるたびに呼び出されています。

明示的に割り当てるにはどうすればよいですか?コントローラで@modelを作成し、コレクションを使用してパーシャルを呼び出しています(これは「railsy」メソッドであると理解されています)。

ここで何が起こっているのか、そしてこの状況でどのようなベストプラクティスがあるのか​​を誰かが説明できますか?私はまだおかしくなりませんが、何マイルもの警告が私のアプリケーションからの実際の出力をかき消す傾向があります。

4

2 に答える 2

3

この Lighthouse のチケットを掘り起こした後は、あまり心配する必要はありません。まだ。

不適切な「@variable は暗黙的に変数に割り当てられなくなりました」というメッセージ

于 2009-06-13T16:39:59.073 に答える
1

2.3.5 では、はい、コードを修正する必要があります。あなたはこれを行うことができました

@rocket_launcher = RocketLauncher.find(params[:id])
page.insert_html :bottom, 'ajax_this', :partial => 'rocket_launcher'

それは大丈夫でした(@rocket_launcherは部分的に取り上げられました)。これ以上。今、あなたはしなければなりません

page.insert_html :bottom, 'ajax_this', :partial => 'rocket_launcher', :locals=>{:rocket_launcher=>@rocket_launcher}

つまり、あなたの例

<%=render :partial => "rocket_launcher", :collection => @rocket_launchers %>

クールであり、2.2.x で見られた非推奨の警告は現在 (2.3.5 で) 修正されているはずです。

于 2010-02-17T12:31:48.820 に答える