2013-07-04 89 views
0

我正在構建我的第一個Rails應用程序,出於某種奇怪的原因,它似乎像用戶會話正在被扔掉,我不知道如何解決它。我的意思是,我的索引模板設置爲<% if user_signed_in? %>爲真,他們只會看到應用程序及其所有數據,否則他們會看到一個註冊頁面。一切似乎工作,但當您登錄後刷新頁面,像註銷(destroy_user_session_path)按鈕的東西就消失了。Rails應用程序用戶會話無法正常工作?

以下是我的代碼。忽略所有Angular的東西 - 我正在切換它,因爲我決定過早使用它。

<% if user_signed_in? %> 

<%= link_to "Sign out", destroy_user_session_path, :method => :delete %> 

<div class="site_container" ng-controller="SubmissionsCtrl"> 

    <div class= "row-fluid" id="indexrow"> 
     <div class="span7"> 
      <form id="postSubmit" action="/submissions" method="post"> 
        <%= hidden_field_tag :user_id, current_user.id %> 
        <label for="titleinput">Title</label> 
        <input type="text" id="titleinput" name="title" placeholder="Title"></input> 
        <label for="contentinput">Content</label> 
        <textarea id="contentinput" rows="6" name="content" placeholder="What's on your mind?"></textarea> 
        <button type="submit" class="btn btn-primary" style="margin-top:10px">Save</button> 
      </form> 
     </div> 
     <div class="span5"> 
      <div id="submission-list-container"> 
       <ul id="indexSubmissions"> 
         <% current_user.submissions.each do |i| %> 
          <%= i.title %> 
          <%= i.content %> 
         <% end %> 
        </li> 
       </ul> 
      </div> 
     </div> 
    </div> 

</div> 

<% else%> 


<div id="intro_page_center"> 
<h2 id="big_intro">Explore your mind.</h2> 
<div id="registration_login"> 
    <a href="users/sign_in" class="sign_in_up">Log in</a> 
    <a href="users/sign_up" class="sign_in_up">Sign up</a> 
</div> 
<div id="about_container"> 
    <ul id="about_braindb"> 
     <li> 
      <h3>Save <small>Save stories, videos, recipes, and anything else that defines you.</small></h3> 
     </li> 
     <li> 
      <h3>Learn <small>Discover patterns, connections, and meaningful context in everything you save to BrainDB.</small></h3> 
     </li> 
     <li> 
      <h3>Grow <small>Utilize your newfound abilities to read your subconcious through idea generation, collaboration, and more.</small></h3> 
     </li> 
    </ul> 
</div> 
</div> 

<% end%> 

任何想法它可能是什麼?我在某處看到它可能與Rails 3安全性和我的POST表單提交有關,但是我丟失了頁面,並且找不到更多信息。

+0

一個很好的開始就是告訴我們你是如何定義'user_signed_in?'的。 –

+0

我正在使用Devise。 –

+0

您可以在您的視圖中打印以下內容:「<%= session.inspect%>' –

回答

0

您是否在您的控制器中添加了設備before_filter?

before_filter :authenticate_user! 
+0

是的,它在我的提交控制器中。 –

+0

@TomMaxwell你有這個工作嗎? – dewdrops

相關問題