我的用户有一些“专利”。在它上面,这是一个确定级别的布尔“专家”。
登录的用户必须能够编辑他专家的其他用户的专利。
问题是专利没有参考,只有布尔“专家”和名称来自(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 :(得分: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 %>
对不起,我意识到问题含糊不清......