rails3 ярлык - PullRequest
       13

rails3 ярлык

0 голосов
/ 04 февраля 2011

Раньше я делал

project = Project.find_by_name('foo')

Теперь rails3 имеет лучший синтаксис, поэтому я начал использовать

project = Project.where(:name => 'foo').limit(1).first

Однако этот новый стиль слишком многословен.Есть ли ярлык, о котором я должен знать?

Ответы [ 4 ]

3 голосов
/ 04 февраля 2011

Первый должен работать.Не так ли?

2 голосов
/ 04 февраля 2011

Добавление .limit(1) является избыточным; вызов метода .first уже делает это для вас. Как и в других ответах, первый стиль должен работать безупречно и не устареть.

1 голос
/ 04 февраля 2011

как насчет использования именованной области?

scope :find_foo, where(:name => 'foo').limit(1).first

тогда просто сделай

Project.find_foo

конечно, вы можете сделать это динамически, используя лямбду

http://edgerails.info/articles/what-s-new-in-edge-rails/2010/02/23/the-skinny-on-scopes-formerly-named-scope/index.html

0 голосов
/ 04 февраля 2011

Что не так с просто

project = Project.where(:name => 'foo')

У вас нет ограничения на find_by_name, поэтому я предполагаю, что имена уникальны.

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