Я сделал эти изменения соответственно:
Теперь в '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 / rout.rb' у меня есть этот код:
resources :users do
collection do
get 'reset'
post 'reset'
get 'send_reset'
post 'send_reset'
end
end
Если я отправлю форму ('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 ', но просто вызывая метод действия для решения моей проблемы. Как я могу это сделать?