我正在开发一个带有登陆页面的rails应用程序.在目标网页上,用户可以注册该应用.对于登录,有一个带额外控制器的额外视图.
它看起来像这样:
views/landinpage/index.html --> sign up form views/login/index.html --> login form
但我只想拥有一个控制器
controllers/login_controller --> create new user from sign up form & check login data
所以我必须在登陆页面视图和login_controller之间建立连接.
这是我的尝试:
<%= form_for @login,:url => { :controller => "login_controller",:action => "create" },:html => {:method => :post} do |f| %>
但它会引发路由错误:
No route matches {:controller=>"login_controller",:action=>"create"}
我已经在routes.rb中定义了登录资源,但似乎问题出在其他地方?
resources :logins
有任何想法吗?
解决方法
试试这个
class LoginsController < ApplicationController def new ... end def create ... end ... end
在你的route.rb文件中写
match '/login/create' => 'logins#create',:as => :create_login or resources :logins
在你的控制台 – 写 – 耙路线和检查你的路线
然后
<%= form_for @login,:url => create_login_path(@login) do |f| %>