Je tente de mettre à jour les paramètres de mon profil à l'aide de cases à cocher dans une page de paramètres. Une fois que la case à cocher est cliquée, je veux rediriger vers la page des paramètres, j'ai donc ajouté une nouvelle action à mon contrôleur qui met à jour le profil mais redirige vers les paramètres. Cependant, je reçois l'erreur suivante:Form_for error - aucun itinéraire ne correspond à la publication
`No route matches {:action=>"edit_settings", :controller=>"profiles"}`
Voici mon form_for
code:
<%= form_tag({:action => "edit_settings", :controller => "profiles"}, :html => {:multipart => true }) do |f| %>
Mon action edit_settings
dans mon contrôleur profiles
:
def edit_settings
@profile = user.profile
if @profile.update_attributes(params[:profile])
redirect_to settings_path, :notice => 'Updated user information successfully.'
else
render :edit
end
end
Dans mon fichier routes.rb
:
resources :profiles do
post :edit_settings
end
intérieur rake routes
:
profile_edit_settings POST /profiles/:profile_id/edit_settings(.:format) {:action=>"edit_settings", :controller=>"profiles"}
Bonne explication, merci! Ajout de 'match 'profiles/edit_settings",: to => "profils # edit_settings' à mon fichier de routes travaillé. – tvalent2