Так я создал свои маршруты так:Непонимание маршрутов в рельсах
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, а затем создает. Независимо от того, если есть ошибки - мне нужно, чтобы он вернулся к bla.com/signup
, а не bla.com/users
В Rails, так как контроллеры на основе RESTful архитектуры, вам необходимо иметь два различных пути для '' new' и create'. Вы хотите сделать оба с тем же маршрутом. Возможно, этот вопрос может быть полезен: http://stackoverflow.com/questions/2472393/rails-new-vs-create – depa