Какая из лучших практик и дает мне лучшую производительность?rails3 - лучший код для работы
Например:
У меня есть таблица статусов, которые имеют 5 записей, а каждая запись должна быть хранить на отдельном переменном.
Method1:
@new_status = Status.find_by_status("NEW")
@inprocess_status = Status.find_by_status("InProcess")
@completed_status = Status.find_by_status("Completed")
@occupied_status = Status.find_by_status("Occupied")
@success_status = Status.find_by_status("Success")
Method2:
statuses = Status.all
@new_status = statuses.find {|status| status.status == "NEW"}
@inprocess_status = statuses.find {|status| status.status == "InProcess"}
@completed_status = statuses.find {|status| status.status == "Completed"}
@occupied_status = statuses.find {|status| status.status == "Occupied"}
@success_status = statuses.find {|status| status.status == "Success"}
Или anyother хороший способ?
Не собирается ли назначать запись с наименьшим значением «status» на/@ new_status, второй самый низкий до/@ completed_status и т. Д.? Я думаю, вам, возможно, придется переупорядочить последнюю строку. Я бы, наверное, просто проверил количество статусов, чтобы убедиться, что пять найдено. –
'order (: status)' будет убедиться, что они находятся в правильном порядке (который должен быть по возрастанию в алфавитном порядке). Да, я сделал несколько предположений в своем коде, например, этот статус уникален, и эти статусы будут существовать. Цель состояла не в том, чтобы продемонстрировать безупречный пример, цель состояла в том, чтобы предоставить другую, более эффективную альтернативу проблеме OP. – gylaz