Как изменить содержимое страницы просмотра на основе текущего URL - PullRequest
0 голосов
/ 17 октября 2010

Мое приложение имеет панель навигации с параметрами: -
"создать сообщение", "Показать сообщения, принадлежащие мне", "Показать все сообщения"
Но я перехожу на страницу "показать сообщения, принадлежащие мнеmsgstr "на панели навигации больше не должна отображаться опция" показывать сообщения, принадлежащие мне ".Любой API, такой как current_url_path, так что я могу сравнить выход API current_url_path с "требуемый_url_check_path".и соответственно измените вывод вида.

Ответы [ 2 ]

1 голос
/ 18 октября 2010

Существует функция link_to_unless_current:

<%=
   link_to_unless_current("Show posts owned by me", { :controller => "posts", :action => "index" }) do
      # Whatever code you want to occur
   end
%>

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to_unless_current

Вам также следует обратиться к функции link_to_unless.

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to_unless

0 голосов
/ 17 октября 2010

Привет, Саран. Да, это помощник, который я вставил в application_helper.rb:

def main_nav_select(name, url)
  url = params[:q].blank? ? url : "#{url}?q=#{params[:q]}"
  if current_page? url
    content_tag(:li, "#{link_to(name, url)}", :class => 'selected')
  else
    content_tag(:li, "#{link_to(name, url)}")
  end
end

Реальный улов здесь curent_page? url

Я реализую это так:

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