【发布时间】:2011-05-27 18:32:14
【问题描述】:
我对@987654321@ 进行了适当的更改:
现在在 'app/controllers/users_controller.rb' 我有这个代码:
def reset
respond_to do |format|
format.html # reset.html.erb
end
end
def send_reset
respond_to do |format|
if @user.errors.empty?
...
else
format.html { render :action => 'reset' }
end
end
end
现在在 'config/routes.rb' 我有这个代码:
resources :users do
collection do
get 'reset'
post 'reset'
get 'send_reset'
post 'send_reset'
end
end
如果我提交与changes相关的表单('app/views/users/reset.html.erb')
<%= form_tag( send_reset_users_path, :method => :post ) do %>
<%= text_field_tag :email %>
<%= submit_tag("Send") %>
<% end %>
浏览器 URL 变为 '.../users/send_reset' 但我想要 '.../users/reset' (我认为问题出在'format.html { render :action => 'reset' }' 代码不能正确渲染动作)或者可能是路由。
简而言之,我的目标是使用“send_reset”操作,例如,“更新”、“创建”或“销毁”操作(来自脚手架),在我的情况下是不创建'app/views/users/send_reset.html.erb' 文件,但只是调用操作方法来处理我的问题。我该怎么做?
【问题讨论】:
标签: ruby-on-rails forms controller action routes