Я стараюсь следовать правилам и оставаться RESTful, но я сталкиваюсь с некоторыми проблемами.Почему мой контроллер/Action не отвечает на: put?
Я установил свои маршруты, так что я уверен, что он называет правильное действие, когда я бегом рек маршрутов это приходит:
PUT /admin/settings {:controller=>"admin", :action=>"save_settings"}
Так что я знаю, что мой путь является правильным, и в моих * просмотрах /admin/settings.html.erb»у меня есть следующие:
<% form_for(:settings, :html => { :method => :put },:builder => MyFormBuilder) do |f| %>
И кажется, что все правильно делают (так как рельсы танцы вокруг PUT):
<form action="/admin/settings" method="post">
<input name="_method" type="hidden" value="put" />
Но когда я на самом деле нажимаю кнопку отправки, ничего не происходит. Для тестирования я просто сделать вспышку:
# PUT admin/settings
def save_settings
flash[:notice] = 'Settings Saved'
render :action => 'settings'
end
И ничего не мигает. Думаю, я здесь накрыл свои базы, но я должен что-то забыть. пожалуйста, помогите RoR noob :)
необходимо добавить «:.. URL => {: action => 'save_settings'} ', хотя моя маршрутизация в порядке – naspinski