У меня есть button_to, что я хочу выполнить действие PUT (есть только одна вещь, которая может быть обновлена об этом ресурсе - она будет обновляться как «признанная», , поэтому нет других полей формы, связанных с запуском действия).Rails3 button_to вызывает действие POST, пытаясь вызвать действие PUT
Это, на мой взгляд (контроллер задается явно, так как кнопка на вид, что принадлежит к другому контроллеру):
<%= button_to "Acknowledged", :controller => 'practice_sessions', :id => @practice_session.id, :method => :put %>
В моем файле маршрутов, ресурс был объявлен как успокоительной ресурс :
resources :practice_sessions
Контроллер для этого ресурса имеет действие по созданию и обновлению, а button_to выше вызывает действие create. Я хочу, чтобы он вызывал действие обновления.
Это происходит через бревно прямо перед срабатыванием создают действия:
Started POST "/practice_sessions?id=21&method=put" for 127.0.0.1 at 2010-11-17 08:52:46 +0000
Processing by PracticeSessionsController#create as HTML
Parameters: {"authenticity_token"=>"1EW0IlI38d0f4wST5azrCEZVZPfih7i0UvCGSF7eqbc=", "id"=>"21", "method"=>"put"}
Привет, спасибо. Теперь я получаю «Нет маршрутов»/practice_sessions ». Я думаю, это потому, что это PUTting для just/practice_sessions (как видно из URL http: // localhost: 3000/practice_sessions? Id = 26), а не/practice_sessions/26 в этом случае. Я буду продолжать играть с ним, но любые советы оценены! – pakeha
Каков результат «рейк-маршрутов»? – zetetic
Выглядит как ожидалось. Вот строки я представляю себе представляют интерес: practice_session PUT /practice_sessions/:id(.:format) {: действие => "обновление",: контроллер => "practice_sessions"} practice_sessions POST/practice_sessions (. : format) {: action => "create",: controller => "practice_sessions"} – pakeha