ActionView::Template::Error: undefined method `each' for nil:NilClass
Created by @rymai.
https://sentry.gitlap.com/gitlab/gitlabcom/issues/11734/
NoMethodError: undefined method `each' for nil:NilClass
app/views/projects/merge_requests/widget/_heading.html.haml:46:in `_app_views_projects_merge_requests_widget__heading_html_haml__800573732379826915_207003560'
- @merge_request.environments.each do |environment|
app/views/projects/merge_requests/widget/_closed.html.haml:2:in `_app_views_projects_merge_requests_widget__closed_html_haml__4567496809708040377_210381100'
= render 'projects/merge_requests/widget/heading'
app/views/projects/merge_requests/widget/_show.html.haml:6:in `_app_views_projects_merge_requests_widget__show_html_haml__3393549854523571025_208914600'
= render 'projects/merge_requests/widget/closed'
app/views/projects/merge_requests/_show.html.haml:44:in `_app_views_projects_merge_requests__show_html_haml__1210807042247837692_189240240'
= render "projects/merge_requests/widget/show.html.haml"
app/views/projects/merge_requests/show.html.haml:1:in `_app_views_projects_merge_requests_show_html_haml__3257249098833384849_186870600'
= render "show"
...
(179 additional frame(s) were not displayed)
ActionView::Template::Error: undefined method `each' for nil:NilClass
Then change should probably be as follow:
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index f7d1253..75f48fd 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -652,7 +652,7 @@ class MergeRequest < ActiveRecord::Base
end
def environments
- return unless diff_head_commit
+ return [] unless diff_head_commit
target_project.environments.select do |environment|
environment.includes_commit?(diff_head_commit)