【发布时间】:2013-09-28 03:36:19
【问题描述】:
所以我这样设置路线:
StartPoint::Application.routes.draw do
get 'login' => 'sessions#new', :as => 'login'
get 'logout' => 'sessions#destroy', :as => 'logout'
get 'signup' => 'users#new', :as => 'signup'
resource :home, controller: 'home'
resources :users
resources :sessions
root 'home#show'
end
我什么时候去注册却没有填写正确的数据它总是把我带到bla.com/users而不是注册。它应该总是回去注册。我的控制器看起来像这样,用于新建和创建
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(user_signup_params)
if @user.save
redirect_to root_path
else
render :new
end
end
end
有人告诉我,当它失败时,为了查看我需要返回到新方法的所有错误消息,然后它会显示我所有的错误。然而,新方法的 url 结构与 create 方法完全不同。无论如何,如果有错误 - 我需要它回到bla.com/signup,而不是bla.com/users
【问题讨论】:
-
在 Rails 中,由于控制器基于 RESTful 架构,因此您需要为
new和create提供两条不同的路由。你想用相同的路线做这两个。也许这个问题可能有用:stackoverflow.com/questions/2472393/rails-new-vs-create
标签: ruby-on-rails routes ruby-on-rails-4