我最近开始使用Ruby on Rails,并使用Devise gem进行身份验证。当我开始一个新的应用程序来尝试Devise Gem时,工作得很好。但是,我使用的模板在主页上有登录和注册表单。由于Devise创建了两个新视图,我不需要它们,我将不得不将这两个视图代码移到我的home.html.erb文件中。登录并注册主页
我遇到的问题是,在按照these steps后,表单被创建,我填写用户名和密码,但按下提交按钮什么也没有。此外,在提交底部创建了三个链接;登录,注册和忘记密码,将我重定向到Devise创建的页面,这是我试图避免的页面。
我看了很多地方,但没有运气。我有一个星期的RoR经验和两天的Devise Gem经验,所以我必须做一些荒谬的事情。任何帮助?
这里是登录表单,我复制到我的home.html.erb文件
<%= form_for("user", :url => user_session_path) do |f| %>
<div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
<% end -%>
<div><%= f.submit "Sign in" %></div>
<% end %>
<%= render "devise/shared/links" %>
这里是我的应用助手文件:
module ApplicationHelper
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
end
和我的配置/路线.RB文件:
devise_for :users
root 'pages#home'
编辑建议的routes.rb
get "pages/home"
devise_for :users
devise_scope :users do
get "pages/home", :to => "devise/sessions#new"
post "https://stackoverflow.com/users/sign_in", :to => "devise/sessions#create", :as => :sign_in
end
还是没有结果。
非常感谢您的回答。我编辑了我的问题,添加了我的routes.rb文件,然后在home.html.erb文件中编辑了该行。 我试过你的建议,现在主页只显示基本形式的Devise日志。所以基本上,这将登录的URL从/ users/sign_in更改为/ pages/home。我的家庭观点发生了什么? – 2014-09-30 23:24:24
对不起,我以前的评论结果是错误的,我已经按照你的建议更新了我的routes.rb,但结果与以前一样。在我的模板中登录表单,点击提交按钮时没有任何反应。 – 2014-09-30 23:41:59