2017-10-02 1 views
0

기본 레일즈 앱에서 사용자 인증을 위해 Bcrypt와 has_secure_password를 사용하고 있습니다. 응용 프로그램에서 내 모든 다른 양식에 대한 나는 못생긴 기본 것들보다는 멋진 찾고 부트 스트랩 양식을 가질 수있는 보석 bootstrap_form을 사용하고 있습니다.Bcrypt 세션과 함께 부트 스트랩을 레일에 사용하기

문제는 Bcrypt가 세션 로그인 양식에 허용하지 않는 것입니다. 부트 스트랩을이 로그인 폼에 통합하여 오랫동안 CSS를 가지고 놀 필요가 없다면 정말 좋을 것입니다.

내 세션/new.erb은 다음과 같습니다

<%= form_tag sessions_path do %> 
<h3>Log In</h3> 
<div class="form-group"> 
<%= text_field_tag :email, params[:email], placeholder: 'Email', 
:class => 'class_name' %> 
</div> 
<div class="field"> 
<%= password_field_tag :password, params[:password], placeholder: 
'password', :class => 'class_name' %><br> 
<%= link_to 'Sign up', new_user_path %> 
</div><br> 
<div class="actions"><%= submit_tag "Log In" %></div> 
<% end %> 

을 그리고 내 세션 컨트롤러는 다음과 같습니다

+0

같은 시도 로그인 양식 "? – EJ2015

+0

어떤 오류가 있습니까? Bcrypt가 활성화 된 곳이므로 컨트롤러에서 문제가 될 가능성이 큽니다. –

+0

괜찮습니까? 정확히 어떤 오류가 있습니까? – 7urkm3n

답변

0

보석 문서 :-)

def create 
user = User.find_by_email(params[:email]) 
if user && user.authenticate(params[:password]) 
session[:user_id] = user.id 
redirect_to new_comment_path, notice: "Logged in!" 
else 
    flash.now.alert = "Email or password is invalid" 
render "new" 
end 
end 

def destroy 
session[:user_id] = nil 
redirect_to root_url, notice: "Logged out!" 
end 

감사를 LINK

하지만 아마도 너는

<%= bootstrap_form_tag sessions_path do %>,

<%= bootstrap_form_tag url: sessions_path do |f| %>

대답

대신

:
당신이 Bcrypt이 세션이 허용하지 않는 것 "으로 무엇을 의미합니까이

<%= bootstrap_form_tag url: sessions_path do |f| %> 
    <%= f.email_field :email %> 
    <%= f.password_field :password %> 
    <%= f.check_box :remember_me %> 
    <%= f.submit "Log In" %> 
<% end %> 
+0

문서를 확인 했어야합니다 - 감사합니다! – Robert

+0

@Robert Np, 항상 문서를 먼저 읽으십시오. 시간을 절약 할 수 있습니다. – 7urkm3n

관련 문제