2016-10-04 120 views
0

我使用軌道版本 -的ActionController :: InvalidAuthenticityToken軌5

我以前form_for創建一個表單

<%= form_for :session,:action => '/login/authenicate/',:remote => true, :authenticity_token => true, :html => { :class => 'validate', :id => 'form_login' } do |s| %> 

我使用AJAX來發送請求到服務器。

這是在瀏覽器中顯示的窗體。

<form class="validate" id="form_login" action="/login" accept-charset="UTF-8" data-remote="true" method="post" novalidate="novalidate"><input name="utf8" type="hidden" value="✓"><input type="hidden" name="authenticity_token" value="i3GVfaN2PbZ80JvdSqO921GuNLaxxo9ctsTBE21aYJYo/XtBG7lyqU7xAzoFjClwOGWSCrC+6mf3no39ua+rDQ=="> 
      <div class="form-group"> 
       <div class="input-group"> 
        <div class="input-group-addon"> 
         <i class="fa fa-user" aria-hidden="true"></i> 
        </div> 
        <input class="form-control" id="username" placeholder="Email Id/Mobile No" type="text" name="session[username]"> 
       </div> 
      </div> 

      <div class="form-group"> 
       <div class="input-group"> 
        <div class="input-group-addon"> 
         <i class="fa fa-lock" aria-hidden="true"></i> 
        </div> 
        <input class="form-control" id="password" placeholder="Passowrd" type="password" name="session[password]"> 
       </div> 
      </div> 

      <div class="form-group"> 
       <button name="authenicatebtn" type="submit" class="btn btn-primary btn-block btn-login">Login</button> 
      </div> 

這是一個AJAX請求到服務器,當我在網絡選項卡其表示ActionController::InvalidAuthenticityToken錯誤視圖。

回答

0

從Rails的文檔:

:authenticity_token - 真實性標記的形式使用。僅當您需要傳遞自定義真實性標記字符串或者根本不添加authenticity_token字段(通過傳遞false)時才使用。

...遠程表單從元標記獲取真實性標記,因此嵌入是不必要的,除非您支持沒有JavaScript的瀏覽器。

你想通過在表單中​​傳遞:authenticity_token => true來達到什麼目的?

相關問題