渲染与本地人和没有本地人之间的区别?

时间:2013-04-22 14:15:04

标签: ruby-on-rails-3.2

我想知道

之间的区别
   render('shared/comment', comment: @comment) 

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

对我来说,有时第一种方法可行,但有时第二种方法......

1 个答案:

答案 0 :(得分:1)

每当您对Rails方法的参数有疑问时,我建议您查看apidock,因为它允许您切换rails版本,如果事情随时间发生变化,这可能很方便。

你可以看到ActionController:Base上有一个渲染方法,我认为最喜欢的一个来自ActiveView:Template

ActionController方法具有以下签名:

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

ActionView有以下一个:

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

因此,当您从locals:调用已弃用的方法时,基本上需要使用ActionController,并且在使用ActionView时不需要传递它。