2010-08-05 104 views
0

我的用戶有一些「專利」。就此而言,這是一個確定關卡的布爾「專家」。比較紅寶石上的數據

用戶登錄必須能夠從其他用戶,他是專家編輯的專利。

的問題是專利沒有參考,只有布爾「專家」而得名來自(belongs_to的)的「技能」誰包含ID和名稱可以比較的。

對於爲例,我可以檢查我的登錄用戶是「技能」的創造者。像這樣:

<% if @patent.skill.user == @current_user %> 
    <td><%= link_to 'Edit', edit_patent_path %></td> 
<% else %> 
<% end %> 

我想問:「如果@current_user有‘專家’,以真正的‘’從同一個‘技能專利’,我想編輯,然後告訴我的鏈接」

我有開始:

<% if @patent.skill.name 

但是不能夠找到的東西,可以看看關於什麼話都沒有舉行,只有名稱和其他信息的CURRENT_USER。

感謝您的幫助,以瞭解哪些方法可以讓我嘗試

+0

請您告訴我們從模型的代碼? – 2010-08-05 11:17:44

回答

0

我找到了一個解決方案: 在patents_controller我期待已久的專利,其中CURRENT_USER是專家(狀態= 1)。

helper_method :is_expert? 

private 

def is_expert? 
    Patent.find(:first, :conditions => {:user_id => @current_user, :skill_id => @patent.skill.id, :state => 1})  
end 

在控制器我只是把條件

<% if is_expert? %> 
    <%= link_to 'Edit', edit_patent_path %> 
<% end %> 

對不起,我意識到了問題的模糊......