4
我剛剛開始使用Ruby和Rails,嘗試了Rails 3的Devise。我有一個循環的帖子列表,每個帖子都有一個關聯用戶。我只想顯示與當前用戶關聯的帖子的編輯控件。用Devise在Rails 3中測試'current_user'
<% @posts.each do |post| %>
<%= link_to "show" %>
<% if current_user = post.user %>
<%= link_to "edit" %>
<% end %>
<% end %>
(以上被簡化,並從內存中,所以我敢肯定,語法不完全正確 - 但你得到的要點。)
如果沒有用戶登錄,帖子按照預期顯示 - 有一個Show
鏈接,但沒有Edit
鏈接。但是,如果我完全登錄,則會顯示所有Edit
鏈接,即使是由不同用戶創建的杉木帖也是如此。
我已經驗證在控制檯User.find(1) != User.find(2)
,但由於某些原因,current_user = post.user
計算結果爲真,不管是誰目前已登錄。這是做CURRENT_USER是一個幫手,而不是一個「真正的」 user
對象?我如何使用current_user
來獲得ACTUAL當前用戶進行比較?
感謝,
丹
我也許應該讀過我的書的Ruby更跳躍上的Rails之前。不知道爲什麼我沒有本能地使用'==',我是白天的C#開發人員......謝謝! – 2010-09-08 16:56:53