Это действительно зависит от контекста.
Первый, @comment
обычно используется (как объяснил Джон Топли) для настройки переменной, которая будет передаваться по цепочке запросов вашим представлениям, помощникам и частичным лицам, отображаемым из этого действия.
Если вы используете его в form_for
, вы бы ссылались на объект @comment
, который вы, скорее всего, настроили в контроллере:
<% form_for @comment do |f| %>
Если вы передаете объект комментария как локальный фрагмент, вы можете указать его как символ (как сказал Джон Топли):
<%= render :partial => "info", :locals => { :comment => @comment }
И если вы использовали ее как локальную переменную, возможно, вы представляете коллекцию комментариев:
<%= render :partial => @post.comments %>
Передача коллекции comments
в частичное самоанализ первого объекта здесь и определение его класса Comment
и, следовательно, попытка сделать comments / _comment.html.erb частичным для каждого из элементов в коллекции (независимо от того, какого типа другие, это гоча), делая каждый из них доступным как comment
внутри него.