比较红宝石的数据

时间:2010-08-05 10:03:26

标签: ruby-on-rails

我的用户有一些“专利”。在它上面,这是一个确定级别的布尔“专家”。

登录的用户必须能够编辑他专家的其他用户的专利。

问题是专利没有参考,只有布尔“专家”和名称来自(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的东西,只有名字和其他信息。

感谢您的帮助,了解我可以尝试哪种方式

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案: 在patents_controller中,我寻找专利,其中current_user是专家(state = 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 %>

对不起,我意识到问题含糊不清......