2012-05-23 3 views
2

Я пытаюсь сделать частичный вид, который имеет выпадающий список, чтобы выбрать неделю, и когда нажата кнопка отправки, снова откройте ту же страницу с новыми данными. Вот код, у меня возникли проблемы с:Ruby on Rails: form_tag не работает

= form_tag(:controller => "/payroll_issues", :action=> "index") do 

Когда кнопка нажата, она приведет вас к правильному URL, но страница не загружается, говоря «не получено никаких данных, Не удается загрузить потому что сервер не отправил никаких данных ».

Дело в том, когда я запускаю код как

= form_tag(:controller => "/payroll_issues", :action=> "change_week") do 

где change_week просто перенаправляет на индекс, все прекрасно работает. Есть что-то, что мне не хватает с индексом?

+0

Можете ли вы разместить код контроллера? – edralph

ответ

1

Атрибут тега формы создает тег формы с method = 'post', маршрут для действия вашего индекса, вероятно, настроен только для принятия запроса 'get'.

Чтобы проверить, вы можете запустить rake routes

Если вы действительно хотите, вы можете добавить маршрут, чтобы принять пост запросов с указательными действиями, как так:

# routes.rb 
match '/' => 'payroll_issues#index', :as => :index, :via => :post 

Однако, вы бы гораздо лучше со второй техникой в ​​вашем вопросе, создайте отдельное действие и перенаправьте.

def change_week 
    #do change week stuff 
    redirect_to payroll_issues_url 
end 
Смежные вопросы