我想从用这种方法“技能”控制器显示的状态:访问的方法在部分从其它控制器
def also_expert?
Patent.where(:user_id => current_user, :skill_id => @skill.id, :state => 1).first
end
所以在视图我可以使用:
<% if also_expert? %>
Expert
<% end %>
当我使用它的部分来自其他控制器我有一个“未定义的方法”这个我明白
<%= render :partial => 'shared/skill', :collection => topic.skills, :locals => { :topic => topic.community } %>
如何使用它在一个局部?
我强烈建议对这种一对夫妇的原因。 1)这个逻辑不属于视图。辅助者是在地毯下扫描复杂的视图逻辑时的一种荣耀的方式,大多数时候属于模型2)辅助方法本质上成为全局方法。当你定义两个具有相同名称的人时,越是越难追踪。 3)单元测试模型方法比辅助方法更容易。 – 2012-01-02 14:03:10
此外,让方法依赖于@技能实例变量就像使用全局变量一样。如果一个方法需要一个变量,它应该被传入或者是该类的一部分状态。那最终会让你陷入屁股。 – 2012-01-02 14:06:26