Использование link_to с переменной экземпляра и аргументами - PullRequest
2 голосов
/ 22 августа 2011

Я пытаюсь сделать частичные комментарии для использования с моделями блогов и видео.Вот страница показа блога, запрашивающая частичные комментарии и передающая @blog в качестве модели (я передам @video на странице показа видео):

<%= render :partial => 'comments/comments', :locals => {:model => @blog} %>

Этот следующий код предназначен для упорядочивания комментариев как самых новых/ старейший первый:

<% if @comments.count > 1 %>
  <span class="list_order">
    <%= link_to('Newest First', model, :order => "DESC", :anchor => "comments") + " | " +
      link_to('Oldest First', model, :order => "ASC", :anchor => "comments") %>
  </span>
<% end -%>

Это прекрасно работает, когда я говорю:

link_to('Newest First', blog_path(@blog, :order => "DESC".... etc.)

Но я знаю, что вы также можете просто передать:

link_to('Newest First', @blog)

и этоавтоматически перейдет на страницу показа блога.Таким образом, в моем коде я передаю «модель» local, и она обновляет страницу, но не принимает мой аргумент для: order или: anchor.Как вы передаете аргументы, когда используете только переменную экземпляра, а не путь в методе link_to?

1 Ответ

1 голос
/ 13 июня 2012

Хорошо, я наконец-то получил возможность спросить моего друга и нашел решение. Мне нужно было использовать полиморфные пути. Итак, в моем примере выше, следующий код работает:

<%= link_to('Newest First', polymorphic_path(model, :order => "DESC", :anchor => "comments") + " | " + link_to('Oldest First', polymorphic_path(model, :order => "ASC", :anchor => "comments") %> 

Тогда он знает, как сгенерировать правильный путь для используемой переменной. Вот некоторая информация об этом: http://apidock.com/rails/ActionDispatch/Routing/PolymorphicRoutes/polymorphic_path

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...