Ruby on rails 文章和@article之间有什么不同?

Ruby on rails 文章和@article之间有什么不同?,ruby-on-rails,instance-variables,Ruby On Rails,Instance Variables,文章模型有很多注释,注释属于文章 以下是文章的一部分 <%= link_to article.title, article %> <% if article.owned_by? current_user %> <span class='actions'> <%= link_to "Edit", edit_article_path(article) %> <%= link_to "Delete

文章模型有很多注释,注释属于文章

以下是文章的一部分

  <%= link_to article.title, article %>
  <% if article.owned_by? current_user %>
      <span class='actions'>
        <%= link_to "Edit", edit_article_path(article) %>
        <%= link_to "Delete", article, confirm: "Are you sure?", method: :delete %>
      </span>
  <% end %>

以下是部分评论的一部分

<%= comment.name %> &lt;<%= comment.email %>&gt; commented:
<% if @article.owned_by? current_user %>
  <span class="actions">
    <%= link_to 'Delete', [@article, comment],
                :confirm => 'Are you sure?', :method => :delete %>
  </span>
<% end %>
评论:
“你确定吗?”,:method=>:delete%>
你能告诉我为什么文章部分使用了
文章
,而评论部分使用了
@article
?为什么不在这篇文章中加入
@article


如果我的问题对您来说太简单,我很抱歉,但我真的很困惑。

检查您的代码,您可能在某个地方有类似的问题:

<%= render partial: '_some_partial.html.erb', locals: { article: @article }

然后,在注释部分,您可以通过使用:
comment.article
来避免实例变量和局部变量。

article变量是局部变量(仅在已定义的块中可访问)。
@article
变量在视图和partials之间共享。
@变量
通常在控制器中设置,而局部变量通常为部分代码/视图设置。但是,您可以将一个局部变量作为partial的参数,类似于
呈现'my_partial',locals:article:local_article_variable
请添加视图和控制器代码。我们必须知道你的控制器和视图的行为,因为有多种方法可以做同样的事情。是的,甚至在更新版本的Rails中,
render@article
。分部的局部变量相当于方法的参数。您发送的数据范围仅限于部分。如果分部绑定到一个实例,而您无法执行以下操作:`render partial:''u some_partial.html.erb',则局部变量:{article:@blog.articles.first}例如。。。
class Comment < ActiveRecord::Base
  belongs_to :article
end