Рефакторинг фрагментов Ruby on Rails - PullRequest
0 голосов
/ 24 ноября 2011

Ассоциация между Account и user - одна ко многим Account has many Users

Мне нужно сделать что-то в методе модели аккаунта, для которого нужен объект пользователя.

Прямо сейчас я делаю как:

User.first.account.get_something(User.first)

Но, похоже, это не очень хорошая практика.

Как я могу рефакторинг выше.

1 Ответ

0 голосов
/ 24 ноября 2011

Этот код кажется очень окольным способом перехода от одного к другому ... и затем обратно.

Как предполагает ShiningRay - вам, вероятно, нужно переместить метод из учетной записи в пользователя.

class User
  def get_something
    do_stuff(self.account)
  end
end

Тогда вы можете просто позвонить: User.first.get_something

В качестве альтернативы вы можете использовать это:

u = User.first
u.account.get_something(u)

Но это похоже на зависть к функциям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...