我正在尝试将rails 4与权威策略一起使用。
我有个人资料模型和项目模型。项目是带有配置文件的HABTM。
我有一个项目策略,有一个创建?动作(设为真)。
在我的个人资料展示页面中,我想允许用户创建新项目,如果他们的项目策略创建操作允许它。
<% if policy(@project).create? %>
<%= link_to 'CREATE A PROJECT', new_project_path, :class=>"btn btn-info" %>
<% end %>
当我尝试这个时,我得到一个零政策错误。是因为您无法在个人资料视图中使用项目操作吗?如果是这样,我如何修复它,以便我可以在我的个人资料显示页面上显示一个新的项目按钮?
答案 0 :(得分:0)
您可以将ProjectPolicy.new(current_user, @project).create?
用于特定的ProjectPolicy
。
但是,就像@ miler350所说,@project
可能是nil
。 (例如:用户没有创建项目)。确保您的ProjectPolicy#create?
正确处理nil
。