Rails 2 - partials:@comment = Comment.new是什么意思?

时间:2010-06-29 21:10:52

标签: ruby-on-rails ruby

我通过一个教程工作用下面的代码:

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

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

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

艾伦

2 个答案:

答案 0 :(得分:6)

用Ruby术语来说,

@obj = Object.new # returns @obj

因此,您将部分注释并创建一个可以同时使用的新注释对象。

答案 1 :(得分:3)

请参阅http://apidock.com/rails/ActionView/Partials部分“使用RecordIdentifier渲染对象”:

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

虽然有记载,但很难使用。新的+分配(由aharon解释)有效,但似乎有点棘手。在教程中,您期望找到更正统的方法:

  • 在控制器中创建不在视图中的对象。
  • 使用render:partial =&gt; 'mypartial',:locals =&gt; {...}