Я знаю, что это плохая идея, чтобы получить current_user в модели.Я также знаю, что есть способ сделать это (с помощью Thread).Но я не хочу делать это таким образом (это, безусловно, плохая идея), поэтому я хотел бы иметь мнение о том, как добиться этого другим путем.
Пользователь может создать клансоздавая его, он должен быть лидером.Модель клана:
class Clan < ActiveRecord::Base
after_create :assign_leader
# the person who created the clan is the leader
def assign_leader
self.clan_memberships << ClanMembership.new(:user_id => ???, :role => 'leader')
end
end
Я знаю, что могу просто создать членство в контроллере.Однако мне нравится, что фильтры действуют как транзакции, и я бы очень предпочел фильтр для этого.Но есть ли действительно правильный, не «хакерский» способ сделать это здесь?