【发布时间】:2011-10-21 09:45:50
【问题描述】:
我是 Rails 的新手,我正在构建一个示例应用程序,以便了解它和 RESTful 范例。
我有一个用户注册页面,路由到 /signup 而不是 /users/new。如果表单验证失败,它会呈现“新用户”页面,但会将 URL 更改为创建用户路径 /users。
我很难弄清楚如何以既适合 Rails 3(The solutionsI've found 似乎基于 Rails 2 的路由系统)和尽可能 RESTful 的方式解决这个问题,因为我已经考虑过将 /users/new 覆盖为其他内容。
毕竟,这应该是一个学习练习;我并不关心如何让它发挥作用,而是了解我应该如何做事。
这里是 routes.rb:
match '/signup', :to => 'users#create', :via => :post #first attempt at solving this
resources :users
match '/signup', :to => 'users#new'
#... routes to other controllers
这是我的控制器,处理:创建操作:
def create
@user = User.new(params[:user])
if @user.save
flash[:success] = "Welcome to Blather, the hottest new social network until about two weeks from now or TechCrunch gets bored!"
redirect_to @user
else
@title = "Sign Up"
render 'new'
end
结束
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 routing