我安装了 Devise 以在我的应用程序中进行身份验证。我遵循了关于宝石的所有说明,那部分似乎进展顺利。
然而,现在我试图链接到注册页面,我得到了一个我无法弄清楚的疯狂错误......由于某种原因,rails 无法确定设计控制器的位置......
来自:public/index.html.erb(公共登陆页面)
<div class ="getstarted">
<table>
<tr>
<td id = "introtext">
<p>Foo is good..l here is why: </p>
<ul>
<li>Improved quality</li>
<li>Technology consistencies </li>
<li>Cost efficiencies</li>
<li>Increased security</li>
<li>Improved adherence to compliance standards</li>
</ul>
</td>
<td id = "buttons">
<%= button_to "Sign Up for an Account", new_user_registration_path, :method => "get" %>
<br/>
<%= button_to "Log In to your Account", new_user_session_path, :controller => "devise/session", :method => "get" %>
</td>
</tr>
</table>
</div>
routes.rb 有以下行:
devise_for :users
并且 Routes 表似乎有它需要的东西:
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel user_registration POST /users(.:format) devise/registrations#create new_user_registration GET /users/sign_up(.:format) devise/registrations#new edit_user_registration GET /users /edit(.:format) 设计/注册#edit PUT /users(.:format) 设计/注册#update DELETE /users(.:format) 设计/注册#destroy
当我点击按钮注册时,我转到链接:
http://localhost:3000/users/sign_up?
Rails 给了我错误:
No route matches {:controller=>"devise/public"}
登录按钮也是如此:
http://localhost:3000/users/sign_in?
No route matches {:controller=>"devise/public"}
我为“公共”设置了一个视图作为我的公共可见(预认证)页面......我看到 Rails 正在设计目录(不存在)中寻找它。
我也试过删除?在 URL 的末尾......这并没有产生任何区别。
我被困住了,已经投入了几个小时。希望有人可以帮助我。