Я пытаюсь редактировать форму, маршрут - контроллер / идентификатор / действие для редактирования, например,
люди / 124321 / редактировать
Я пытаюсь заставить эту форму отправлять действие обновления, используя этот код:
<% form_for :probe, @probe, :action => "update" do |f| %>
...
...
...
<%= submit_tag 'Submit' %>
<% end %>
Когда я нажимаю на кнопку отправить, появляется сообщение об ошибке
Неизвестное действие.
Ни одно действие не ответило на (id).
Редактировать
Единственное, что в моих маршрутах указано для проб, это map.resources: probes
RoR просто редактировал people / 124321 /, когда я генерировал контроллер.
Рейк-маршруты показывают это
probes GET /probes(.:format) {:controller=>"probes", :action=>"index"}
POST /probes(.:format) {:controller=>"probes", :action=>"create"}
new_probe GET /probes/new(.:format) {:controller=>"probes", :action=>"new"}
edit_probe GET /probes/:id/edit(.:format) {:controller=>"probes",action=>"edit"}
GET /probes/:id(.:format) {:controller=>"probes", :action=>"show"}
PUT /probes/:id(.:format) {:controller=>"probes", :action=>"update"}
DELETE /probes/:id(.:format) {:controller=>"probes", :action=>"destroy"}
Редактировать 2 контроллера пробника
def edit
@probe = Probe.find(params[:id])
end
def update
@probe = Probe.find(params[:id])
debugger
if @probe.update_attributes(params[:probe])
flash[:notice] = "Successfully updated probe."
redirect_to probes_path
else
render :action => 'edit'
end
end