質問

Rails用の「in_place_editing」プラグインを使用して、インプレース編集でフォームをレンダリングしています。デフォルトのテンプレートがRailsによって選択されている限り(コントローラー内に「レンダリング」メソッドは呼び出されない)限り、問題は正常に機能しますが、「render:partial => 'partial_name'」コールを使用して部分的にレンダリングしようとすると分解します。これは既知の問題(in_place_editは部分的には機能しませんか?)ですか、それとも何かが足りませんか?部分的なレンダリング中に次のエラーが発生しています。

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
.../vendor/plugins/in_place_editing/lib/in_place_macros_helper.rb:74:in `in_place_editor_field'
役に立ちましたか?

解決

あなたはあなたの質問の十分な情報の近くにどこにも提供することはなく、バックトレースの2行だけと機能する見解の断片、またはそうでない部分を与えません。これは、あなたに答えようとする試みが主に推測に基づいている必要があることを意味します。とはいえ、インプレースエディターヘルパーは、他の人と同様のヘルパーメソッドであり、特別なものではありません。ほぼすべてのビューコンポーネントから呼び出すことができます。その見解がコントローラー、または実際に親ビューによって含まれる方法が、失敗している理由ではない可能性が高いです。

ヘルパーメソッドはaについて不平を言っています nil 価値。これは、おそらくあなたの部分的なものが呼び出していることを意味します in_place_editor_field 部分的に定義されていない値を渡します。あなたのビューで使用されているものと比較して、定義されていないローカル変数を使用していないことを確認するために確認してください in_place_editor_field 作品を呼び出します。別のインスタンス変数も要求していないことを確認してください。おそらく、1つの変数名を使用している動作ビューが見つかりますが、レンダリングを試みた部分は別のものを使用しています。

render :partial => ... メカニズムは、値を部分的に部分的に渡すさまざまな方法をサポートします。これらを使用してコードを明確にすることを選択できます。を参照してください :locals:object Rails APIのレンダリングドキュメントの「レンダリングパート」セクションのオプション:

他のヒント

私はRails 2.3.8にあるメンテナンスプロジェクトに取り組んでいます。そして、この問題は私の時間の多くを食べました

ビューでは、ビューを変更してインスタンス変数を持つようにします。

@batch = batch 

in_place_editor_field  :batch, 'priority'
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top