特定の値がDBに存在するかどうかを確認し、存在する場合は配列を返すクエリがあります
@canEditTask = Accessor.where("accessor_id = ? AND access_right = ?", current_user, true)
問題は、これが nil @taskEdit = @canEditTask を返す可能性があることです
しかし、私のhtmlの each メソッドは、 nil undefined method
each' for nil:NilClass` が原因でまだ失敗します。
<% @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>