Можно ли передать параметры в рендеринг частичный? - PullRequest
3 голосов
/ 02 декабря 2011

Я использую ползунок jQuery UI для динамического обновления элементов на странице. Как я могу позволить контроллеру получать значения от ползунка? Можно ли передать такую ​​информацию как местный? Если это так, как локальный будет обрабатываться частичным

В настоящее время я обновляю всю страницу и использую предложение where с параметрами.
@articles = Article.where(:year => params[start_year]...params[start_year])

Я хотел бы просто использовать jquery, чтобы очистить этот раздел и отобразить новую коллекцию партиалов, используя значения, установленные ползунком. Есть ли лучшая практика для этого?

1 Ответ

0 голосов
/ 02 декабря 2011

Я думаю, что лучшим вариантом было бы сделать ajax-вызов контроллера и передать через него параметры.

Затем, с возвращенной информацией, вы должны заново заполнить части страницы, которые должны бытьзаселен.

На ваших маршрутах вы захотите что-то вроде этого:

get "article/between_years", :controller=>"article", :action=>"between_years"

, а в контроллере у вас будет функция

def between_years
  @articles = Article.where(:year => params[start_year]...params[start_year])
  render :layout=>false ### this line makes it so the application.haml (or html.erb) is not rendered along with your code)
end

и вкаталог приложения> views> статьи, у вас будет файл haml или erb с html, который вы хотите добавить.

тогда ваш jquery будет выглядеть примерно так:

$.get("/article/between_years",{start_year:1991,end_year:2011},function(data, status, xhr){  /// does ajax call to the article route we set up above /
  ..
  $("body").append(data);  ///appends the html data returned to the body
                           ///you will probably want to change this a bit
                           ///so every thing is added to the proper place
  ...
});

Некоторое время назад я написал еще один ответ, в котором описывался симуляционный рабочий процесс. Возможно, вы захотите взглянуть на это => Автоматическое заполнение полей text_fields на основе выбранного элемента из другого набора collection_select в Rails 3

...