Rails: поддержание частичной СУХОЙ при использовании местных жителей - PullRequest
0 голосов
/ 11 мая 2011

У меня есть частичное, которое используется парой контроллеров.

Прямо сейчас у меня есть эта частичная настройка для приема 2 объектов, которые я не хочу делать.

-if @article
  .main-inner
    .article-header
      .article-title
        =@article.title
      -if !@article.byline.blank?
        %span#byline
          =@article.byline
      %span#timestamp
        =@article.publish_date.strftime("%a, %b %d, %Y %I:%M %Z")
    .article-content
      =truncate(@article.content, :length => 600).html_safe
-else
  .main-inner
    .article-header
      .article-title
        =article.title
      -if !article.byline.blank?
        %span#byline
          =article.byline
      %span#timestamp
        =article.publish_date.strftime("%a, %b %d, %Y %I:%M %Z")
    .article-content
      =truncate(article.content, :length => 600).html_safe

When @ article

def show
  @article = Article.find_by_permalink(params[:permalink])
end

Когда черезlocals

$("#article").html("<%= escape_javascript render(:partial => 'article/view', :locals => { :article => @newarticle }) %>")

1) Как я могу объединить мое частичное, чтобы не использовать if @ article.
2) В моем js.Каков правильный синтаксис для рендеринга частичек, поэтому мне не нужно говорить: частичный => 'article / view' и использовать: locals?

1 Ответ

1 голос
/ 11 мая 2011

если это частичное, то вы должны использовать article (local) вместо @article (не мгновенная переменная), и всегда должны передавать его в localals при рендеринге частичного.

render(:partial => 'article/view', :locals => { :article => @article })

или

render(:partial => 'article/view', :locals => { :article => @newarticle })
...