【发布时间】:2011-01-12 12:06:02
【问题描述】:
我正在尝试从“ROOT_RAILS/controllers/users/account_controller.rb”调用“更新”方法
...
end
def update
...
end
def ...
在“/ROOT_RAILS/views/users/accounts/account.rb”中使用“form_tag”:
<% form_tag ( users_account_path, :method => :post ) do %>
<%= text_field_tag :name %>
<%= text_field_tag :surname %>
<%= submit_tag_tag "Update" %>
<% end %>
并且在 'ROOT_RAILS/config/routes.rb' 中有一个命名空间
...
namespace "users" do
resources :accounts do
collection do
...
end
end
end
...
当我尝试提交此表单时,我有一个
No route matches "/users/accounts/2"
我哪里错了?
在“form_tag”中我尝试过
:controller => "users/accounts", :action => "update"
而不是
users_account_path
我认为是一样的。
如果我使用 ActiveRecord 表单有效:
<%= form_for(@account, :url => { :action => "update", :controller => "accounts" } }) do |f| %>
...
【问题讨论】:
标签: ruby-on-rails forms namespaces ruby-on-rails-3 submit