1

の違いが知りたい

   render('shared/comment', comment: @comment) 

   render('shared/comment', locals: {comment: @comment}) 

私にとっては、最初の方法がうまくいくこともありますが、2番目の方法がうまくいくこともあります....

4

1 に答える 1

1

Rails メソッドのパラメーターについて疑問がある場合はいつでも、apidockを確認することをお勧めします。これにより、Rails のバージョンを切り替えることができるため、時間の経過とともに状況が変化した場合に便利です。

ActionController:Baseに render メソッドがあり、私が気に入っているのはActiveView:Templateのものであることがわかります。

ActionControllerメソッドには次のシグネチャがあります。

render(options = nil, extra_options = {}, &block)

ActionViewは次のものがあります。

render(view, locals, buffer=nil, &block)

したがって、基本的にlocals:は、非推奨のメソッドを から呼び出すときに使用する必要があり、そのメソッドを使用するときActionControllerに渡す必要はありませんActionView

于 2013-04-22T15:01:48.440 に答える