2012-03-03 32 views
1

我有一個允許用戶創建很多的模型。我只想讓用戶看到這些對象是否已登錄。因此截至目前,我已經設置了對象belongs_to:user和用戶has_many:objects,但是如何在創建對象時設置用戶屬性。我基本上希望用戶創建這個,然後使用對象find(where user=current_user)將其全部顯示出來。創建新對象時我如何將它與當前用戶關聯

+1

您是否有某種認證系統? – 2012-03-03 04:17:42

+0

我有'設計',並且正在考慮使用'CanCan',但不知道我會用'CanCan'獲得什麼 – Jaba 2012-03-03 15:06:08

回答

5

在你objects_controller.rb創建動做這樣的:

@object = current_user.objects.build(params[:object]) 

相反的:

@object = Object.new(params[:object]) 

獲取當前用戶的對象,簡單地說:

@objects = current_user.objects 
0

您需要驗證用戶身份的內容。我會建議使用Deviseauthlogic

+0

由於OP具有'current_user'方法,因此可能是安全的 – Pavling 2012-03-03 05:55:30

0
@object = current_user.objects.build(params[:object]) 

<% if current_user %> 
<% objects = current_user.objects %> 
<% for object in objects %> 
    <% object.name %> 
<% end %> 
<% else %> 
<p>Not logged in</p> 
<% end %> 
相關問題