Как мне конкретно создать ссылку без параметров в рельсах? - PullRequest
0 голосов
/ 24 июня 2010

На мой взгляд, я хочу использовать link_to_unless_current для создания ссылки на "/ payforms", когда я нахожусь на странице. Однако, когда я передаю параметры, такие как, например, "/ payforms? Submit = true", функция все еще думает, что я нахожусь на "current", и ссылка не создается. Есть ли способ проверить, нет ли параметров?

<%= link_to_unless_current "All", payforms_path %>

Может быть, как-то так?

<%= link_to_unless_current "All", payforms_path(:params => nil)

1 Ответ

0 голосов
/ 24 июня 2010

Как правило, это не должно иметь место.

Вы можете проверить, является ли страница одинаковой, с помощью

<%= current_page?(payforms_path) %>

или создать целевой URL-адрес с помощью

<%= CGI.unescapeHTML(url_for(payforms_path)) %>
* 1008.* Вероятно, последнее выражение также возвращает '/ payforms / submit'.

в обновленном вопросе
Вы можете объявить свою собственную функцию проверки, например, в application_helper.rb, а затем передать еена link_to_unless вызов.

<%= link_to_unless same_page?(payforms_path), "All", payforms_path %>

Некоторые советы о том, как реализовать проверку same_page?, см. current_page? в url_helper.rb.По сути, вам просто нужно выбросить проверку параметров:

    # We ignore any extra parameters in the request_uri if the 
    # submitted url doesn't have any either.  This lets the function
    # work with things like ?order=asc 
    if url_string.index("?")
      request_uri = request.request_uri
    else
      request_uri = request.request_uri.split('?').first
    end

->

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