Добавьте querystring параметры к link_to

У меня есть трудно добавление querystring параметры к link_to UrlHelper. У меня есть представление Index, например, который имеет элементы UI для сортировки, фильтрации и разбиения на страницы (через will_paginate). will_paginate плагин управляет персистентностью внутристраницы querystring параметров правильно.

Существует ли автоматический механизм для добавления querystring параметров к даванию именованного маршрута, или я должен сделать так вручную? Большое исследование в области этой на вид простой конструкции оставило меня невежественным.

Править

Некоторые проблемы:

  1. Если у меня есть два querystring параметра, блок и сортировка, как действительно устанавливают определенное значение к одному из них в link_to, при сохранении текущего значения другого? Например:

    <%= link_to "0", profiles_path(:bucket => '0', :sorting=>?? ) %>
    
  2. Если у меня есть несколько querystring параметров, блока и сортировки и page_size, и я хочу установить значение к одному из них, есть ли способ 'автоматически' включать имена и значения остающихся параметров? Например:

    <%= link_to "0", profiles_path(:bucket => '0', [include sorting and page_size name/values here] ) %>
    
  3. will_paginate плагин управляет своей переменной страницы и другими querystring переменными автоматически. Кажется, нет автоматического элемента UI для управления размером страницы. В то время как я видел код для создания списка выборки размеров страницы, у меня были бы элементы для этого (как ТАК). Часть этой проблемы связана с № 2, часть связана с сокрытием/показом этого элемента UI на основе existence/non-existence записей. Сказанный иначе, я только хочу включать ссылки размера страницы, если существуют записи на страницу. Кроме того, я предпочитаю автоматически включать другие переменные QS (т.е. страница, блок, сортируя), вместо того, чтобы иметь необходимость включать их по имени в link_to.

198
задан Jeff 13 March 2015 в 16:54
поделиться

1 ответ

Документы API на link_to показывают несколько примеров добавления строк запроса как к именованным маршрутам, так и к маршрутам в старом стиле. Это то, что вы хотите?

link_to также может создавать ссылки с привязками или строками запроса:

link_to "Comment wall", profile_path(@profile, :anchor => "wall")
#=> <a href="/profiles/1#wall">Comment wall</a>

link_to "Ruby on Rails search", :controller => "searches", :query => "ruby on rails"
#=> <a href="/searches?query=ruby+on+rails">Ruby on Rails search</a>

link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux")
#=> <a href="/searches?foo=bar&amp;baz=quux">Nonsense search</a>
326
ответ дан 23 November 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: