У меня есть что-то вроде этого:
на мой взгляд:
<%= render :partial => 'show', :locals => { :employee => flash[:selection][:employee] } %>
в моем частичном «шоу»:
<p>
<b>Manager:</b>
<%= Employee.find(employee.employee_id).first_name %> <%= Employee.find(employee.employee_id).last_name %>
</p>
Вопрос:
Я чувствую, что это не очень хороший подход, чтобы спросить что-то из модели (например: Employee.find (employee.employee_id) .first_name) в частичном ... И, кажется, также в представлении ... Это правильно?
Где я должен поместить такой код «умного запроса» в базу данных и как тогда его вызвать из частичного?
UPD1
Я сделал что-то, как вы советовали ранее ...
В моем контроллере перед рендерингом этого представления (которое, следовательно, будет отображаться частично) я нахожу этого сотрудника и помещаю его во флэш-память [: selection] [: employee] ...
У этого сотрудника есть много столбцов, таких как: first_name, last_name, ... и, наконец, employee_id. Последний employee_id является менеджером текущего сотрудника (flash [: selection] [: employee]).
Я хочу показать все поля сотрудника в моем частичном. Поэтому я передал flash [: selection] [: employee], как employee, частичному, а затем показал там все такие вещи, как: employee.first_name, ... И, наконец, я хочу показать, что employee.employee_id не похож на integer id, но на самом деле находит в базу данных корреспондента сотрудника и внесите его имя и фамилию ...
Хорошо, перед отображением моего представления я могу установить не только @employee, но и его @manager, а затем передать эти значения моему частичному ...
Но ... кажется, что это "слишком много сделано, чтобы показать в одном месте имена и фамилии этого @ менеджера ...
Я прав? или это обычное использование в рельсах, не так ли?