2010-06-29 49 views
3

我正在使用以下代码编写一个教程:Rails 2 - partials:@comment = Comment.new是什么意思?

<h3>New Comment</h3> 
    <%= render :partial => @comment = Comment.new, 
    :locals => { :button_name => "Create" } %> 

我相信'render:partial => @comment'就像'render:partial =>“comment”,:object => @comment'

'= Comment.new'适合哪里? 是对象的简写吗?

Alan

回答

6

在Ruby方面,

@obj = Object.new # returns @obj 

所以你呈现一个注释部分,并创建一个新的评论对象,它可以在同一时间一起工作。

+0

谢谢你,我无法通过谷歌找到这种格式的任何引用 – Alan 2010-06-29 21:23:45

3

参见http://apidock.com/rails/ActionView/Partials部 “渲染对象与RecordIdentifier”:

# <%= render :partial => "accounts/account", :locals => { :account => @buyer } %> 
<%= render :partial => @account %> 

虽然记载,这几乎不使用。新的+赋值(如aharon所解释的)有效,但似乎有点棘手。在教程中,您可能会发现更正统的方法:

  • 在不在视图中的控制器中创建对象。
  • 使用渲染:部分=> 'mypartial',:当地人=> {...}
+1

感谢参考apidock。 com,它看起来是一个非常有用的资源 - Alan – Alan 2010-06-29 21:48:50

+0

我自己也更喜欢更详细的版本。 – nathanvda 2010-06-29 22:17:45