Estoy tratando de agregar algo más de lógica condicional a mi acción de edición al pasar los parámetros a un lugar.Error de forma simple - método indefinido `nombre_del_modelo 'para ActiveRecord :: Relación: clase
Siempre que uso que no sea nada .find (params [: id], el error no definido método `MODEL_NAME' de ActiveRecord :: Relation: Clase
Mi código está por debajo
controlador:
def edit
@office = Office.where("id = ? AND company_id = ?", params[:id], @company.id)
end
Vista:
<%= simple_form_for @office, :url => settings_office_path, :html => { :class => "office_form" } do |f| %>
<h1>Edit <%= @office.office_name %> Details</h1>
<%= render :partial => 'form', :locals => { :f => f } %>
<% end %>
que emite la clase para la que @oficina es ActiveRecord :: Relation. Si solo uso
@office = Office.find(params[:id])
el resultado es Office.
Creo que este es el problema, pero no sé cómo solucionarlo. ¿Algunas ideas?
Grande, que funciona! El segundo es bueno y limpio, así que lo he usado. Gracias por tu ayuda. –
han hecho. Cheers –
Gran explicación: no solo proporcionó el código que respondió la pregunta, sino que también explicó POR QUÉ funciona de la manera en que funciona. ¡Muy útil! –