我有一个查询正在检查数据库中是否存在某个值,如果存在则返回一个数组
@canEditTask = Accessor.where("accessor_id = ? AND access_right = ?", current_user, true)
问题是这可以返回 nil @taskEdit = @canEditTask
undefined method
但是由于 nil each' for nil:NilClass` ,我的 html 中的 each 方法仍然失败。
<% @taskEdit.each do |task| %>
<%= task.id %>
在那种情况下,防止 nil 破坏我的代码的最佳方法是什么?
编辑控制器代码
def index
@canEditTasks = Accessor.where("accessor_id = ? AND access_right = ?", current_user, true)
end
def show
@taskEdit = @canEditTasks
rescue ActiveRecord::RecordNotFound
render :file => 'public/404.html'
end
查看代码
<div>
<% @taskEdit.each do |task| %>
<%= task.id %>
<% end %>
</div>