Ruby on rails 3 “自定义操作原因”;“没有路线匹配”;路由错误

Ruby on rails 3 “自定义操作原因”;“没有路线匹配”;路由错误,ruby-on-rails-3,simple-form,Ruby On Rails 3,Simple Form,我正在尝试将表单提交到自定义操作。表单甚至不会渲染,它只是显示一个错误:“没有路由匹配” routes.rb resources :users do member do post :add_foo end end def add_foo puts "!!! in add_new_foo .. params = " + params + " !!!" end <%= simple_form_for(@user) do |f| %> <%= button

我正在尝试将表单提交到自定义操作。表单甚至不会渲染,它只是显示一个错误:“没有路由匹配”

routes.rb

resources :users do
  member do
    post :add_foo
  end
end
def add_foo
  puts "!!! in add_new_foo .. params = " + params + " !!!"
end
<%= simple_form_for(@user) do |f| %>
  <%= button_to 'download', add_foo_user_path(@user) %>
<% end %>
用户\u控制器.rb

resources :users do
  member do
    post :add_foo
  end
end
def add_foo
  puts "!!! in add_new_foo .. params = " + params + " !!!"
end
<%= simple_form_for(@user) do |f| %>
  <%= button_to 'download', add_foo_user_path(@user) %>
<% end %>
users/new.html.erb

resources :users do
  member do
    post :add_foo
  end
end
def add_foo
  puts "!!! in add_new_foo .. params = " + params + " !!!"
end
<%= simple_form_for(@user) do |f| %>
  <%= button_to 'download', add_foo_user_path(@user) %>
<% end %>

我也试过了

<%= simple_form_for @user, :url => add_foo_user_path(@user), :method => :post do |f| %>
  <%= f.submit "Add" %>
<% end %>
add_foo_user_path(@user),:method=>:post do | f |%>

任何帮助都将不胜感激!

所有内容都定义正确。最有可能出现错误的原因是@user实例不存在。

我建议尝试直接在视图中输出
add\u foo\u user\u path(@user)
,以确保path方法独立于简单表单工作?