Je suis en train d'appeler la méthode 'de mise à jour' de 'ROOT_RAILS/contrôleurs/utilisateurs/account_controller.rb'Envoi de formulaire en utilisant 'form_tag' et dans les espaces de noms Ruby on Rails 3-
...
end
def update
...
end
def ...
en utilisant un « form_tag 'dans' /ROOT_RAILS/views/users/accounts/account.rb:
<% form_tag (users_account_path, :method => :post) do %>
<%= text_field_tag :name %>
<%= text_field_tag :surname %>
<%= submit_tag_tag "Update" %>
<% end %>
et ayant un espace de noms dans 'ROOT_RAILS/config/routes.rb'
...
namespace "users" do
resources :accounts do
collection do
...
end
end
end
...
Lorsque je tente de soumettre ce formulaire, j'ai un
No route matches "https://stackoverflow.com/users/accounts/2"
Qu'est-ce que je me trompe?
Dans 'form_tag Je tryed
:controller => "users/accounts", :action => "update"
au lieu de
users_account_path
que je pense est le même.
Si j'utiliser un formulaire ActiveRecord fonctionne:
<%= form_for(@account, :url => { :action => "update", :controller => "accounts" } }) do |f| %>
...
'users_accounts_path', dans mon cas, semble correspondre à l'action 'créer'. – user502052
Je me suis dit que c'est là que tu voulais aller, puisque tu utilises la méthode post? Vous le savez probablement, mais "rake routes" vous montrera toutes les routes disponibles pour votre application. – polarblau