在 '應用程序/視圖/用戶/ reset.html.erb' 文件我有這樣的代碼:將URL映射到此表單的Rails操作有什麼問題?
<%= form_tag(send_reset_users_path, :method => :post) do %>
<%= text_field_tag :email %>
<%= submit_tag("Send") %>
<% end %>
在 '應用程序/控制器/ * * users_controller.rb' 我有這樣的代碼:
def reset
respond_to do |format|
format.html # reset.html.erb
end
end
def send_reset
...
end
在 '配置/ routes.rb中' 我有這樣的代碼:
resources :users do
collection do
get 'reset'
get 'send_reset'
end
end
當我提交表單,出現錯誤:「無路由匹配」/ users/send_reset「」(瀏覽器URL變爲'.../users/send_reset')。 有什麼不對?如何將URL映射到Rails操作?
P.S:我認爲這個問題是在「配置/ routes.rb中」 ......
貴「復位」工作路徑?如果是這樣,請嘗試: 集合做 得到「復位」,「send_reset」 結束 我覺得有什麼東西失衡的途徑,現在解析導致此失敗對我還沒有搞清楚一些邊緣情況。我已經看到這些變化的工作 - 希望有人會來澄清。 – Cory 2010-12-18 18:32:54
是的,我的'重置'路徑('reset_pjt_users_path' - > URL'.../pjt_users/reset')有效。 – user502052 2010-12-18 18:37:41
不確定,請嘗試切換兩者的順序或從send_reset中刪除下劃線,以確保rails不會將「send_」部分解釋爲「new_」或「edit_」之一。如果兩者都有效,那就是某種命名衝突。 – Thilo 2010-12-18 18:51:23