我正在尝试将设计登录到导航中,但是我遇到了一个我无法解决的错误。当我提交表单来运行连接时,我有这个错误:
No route matches [POST] "/login"
所以我按照wiki/devise来处理这个问题。但是没有使用该行:
helper_method :resource_name, :resource, :devise_mapping
我有这个错误:
PlainpageHelper的未定义方法`helper_method':模块
对于我的最后一次尝试,我会尝试将这些行添加到我的路线文件中,但它仍然无法正常工作
get 'login', to: 'sessions#new', as: 'login'
get 'logout', to: 'sessions#destroy', as: 'logout'
get 'signup', to: 'users#new', as: 'signup'
我的代码:
我的应用(观看/布局/应用)=
<%- if user_signed_in? %>
<%= render 'partial/_connected'%>
<% else %>
<%= render 'partial/_disconnected'%>
<% end %>
我的表单(views / partial / _disconnected)=
<li>
<div class="row">
<div class="col-md-12">
Connection via
<div class="social-buttons">
<a href="#" class="btn btn-fb"><i class="fa fa-facebook"></i> Facebook</a>
<a href="#" class="btn btn-tw"><i class="fa fa-twitter"></i> Twitter</a>
</div>
<form class="form" role="form" method="post" action="login" accept-charset="UTF-8" id="login-nav">
<%= simple_form_for(resource, url: session_path(resource_name)) do |f| %>
<div class="form-group">
<%= f.input :email, required: false, autofocus: true %>
</div>
<div class="form-group">
<%= f.input :password, required: false %>
</div>
<div class="form-group">
<%= f.submit "Connection", class: "btn btn-success" %>
</div>
<div class="checkbox">
<%= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %>
</div>
<% end %>
</form>
</div>
<div class="bottom text-center">
New here ? <a href="#"><b>Join Us</b></a>
</div>
</div>
</li>
普通页面助手:
module PlainpageHelper
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
end
最后我的路线:
devise_for :users
get 'plainpage/index'
authenticated :user do
root to: "plainpage#home", as: :authenticated_root
end
unauthenticated do
root 'plainpage#index'
end
所以,如果您有任何想法来解决这个错误,那么您将成为我的英雄! 谢谢大家,好好继续!!
答案 0 :(得分:0)
删除<form class="form" role="form" method="post" action="login" accept-charset="UTF-8" id="login-nav">
,simple_form_for
会生成form
标记,因此它是重复的。
并且无需在模块resource_name, resource, devise_mapping
PlainpageHelper