Rails 3: Использование формы POST на странице индекса? - PullRequest
5 голосов
/ 16 мая 2011

В моем приложении Rails 3.0 у меня есть ряд очень больших форм поиска на моем ресурсе: страница указателя, требующая использования POST вместо GET.

В настоящее время приложение направляет POST-запрос к ресурсу # create, когда я хочу направить его к ресурсу # index. Я понимаю, что это RESTful маршрут, но нужно его переопределить. Как я могу это сделать, сохраняя при этом возможность создавать новую запись этого ресурса?

Большое спасибо.

Ответы [ 3 ]

3 голосов
/ 15 июня 2011

Вам лучше иметь "поисковое" действие, которое доступно только после публикации, а затем отображать шаблон индекса, например:

class MyController < ...
  def search
     @my_things = MyThing.find_with_search_params(params[:search]) 
     render :action => :index
  end
end
3 голосов
/ 10 сентября 2012

Вы можете использовать индекс, просто добавьте это в Rails 3 маршрутов:

resources :my_things do
  post :index
end
0 голосов
/ 16 мая 2011

Итак, вы хотите, чтобы ваша конечная точка действия «создать» в контроллере выполняла 2 вещи: отвечала на поиск и выполняла ли тоже создание? Плохая идея, но решение может быть таким же простым, как использование условия «если» в действии create для выполнения одного или другого. Если это не удовлетворительный ответ, не стесняйтесь прояснить свой вопрос немного подробнее.

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