2010-08-05 71 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 %> 

对不起,我意识到了问题的模糊......