我有一个登录表单(使用设计进行用户身份验证),如下所示:
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:class=>"wrap center"}) do |f| %>
<%=f.text_field :email, :placeholder => 'Email', :name => "email"%>
<%=f.password_field :password, :placeholder => 'Password', :name => "pwd"%>
<div class="txt-right">
<a href="#" class="forgot"><i>Forgot your password?</i></a>
</div>
<%if @host != 'localhost'%>
<%=f.submit 'LOGIN', :class => 'button', :onclick =>"_gaq.push(['_trackEvent', 'Retention', 'Login']);"%>
<%else%>
<%=f.submit 'LOGIN', :class => 'button'%>
<%end%>
<%end%>
此表单最初位于views / users中的文件中,它在其中查找,现在我在views / home中使用它,每次我点击提交而不是登录时,我会将我重定向到/ users / sign_in(默认登录页面设计为您提供即使正确的登录信息。我仔细检查过,我的应用程序助手确实包含:
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
有什么想法吗?
答案 0 :(得分:2)
删除表单中的名称声明。
<%=f.text_field :email, :placeholder => 'Email' %>
<%=f.password_field :password, :placeholder => 'Password' %>