Сначала убедитесь, что у вас есть эти строки в вашей пользовательской модели
class User
has_many :user_groups
end
сейчас в контроллере вы пишете:
@user_group_ids = current_user.user_groups.pluck(:group_id)
Это позволит избежать N + 1 запросов
Теперь по вашему мнению
- @groups.in_groups_of(2, false).each do |groups|
.row
-groups.each do |group|
.box.col-md-5{id: "group_#{group.id}"}
%h3= group.group_name
- if @user_group_ids.include?(group.id)
%p= link_to 'Show', group
- if current_user[:id] != group.created_by
Теперь, что касается current_user [: id]! = Group.created_by, не нужно никуда перемещаться, если вы не часто его используете. Это общее правило: если вы используете его более чем в двух местах, поместите его туда, где вы сможете использовать его повторно.