Hola, este es mi primer post. Estoy empapandome de ror, empezando desde
cero para poder sacar un PFC adelante.
Me ha surgido una duda a la hora de hacer un Rest anidado, es decir mi
intencion es que en el navegador siga un orden “logico”. Os comento mi
idea:
casa: tiene direccion
ladrillo: tiene una cantidad cantidad por cada casa
Mi proceso a seguir:
- creo scaffold de casa-> ruby script/generate scaffold casa
direccion:text - lo mismo con ladrillo-> ruby script/generate scaffold ladrillo
cantidad:integer
3)rake db:migrate - en los modelos->relacion uno a muchos
class Casa < ActiveRecord::Base
has_many :ladrillos
end
class Ladrillo < ActiveRecord::Base
belongs_to :casa
end
Por ultimo como mi intencion es poder acceder con una ruta de este tipo:
http://localhost:3000/casas/1/ladrillos/new
–dentro de la primera casa puedo editar crear etc la cantidad de
ladrillos, es decir la casa 1 puede tener 30 ladrillos y la 2 ponerle
40—
Me voy al routes.rb
ActionController::Routing::Routes.draw do |map|
map.resources :casas do |casa|
casa.resources :ladrillos
end
map.connect ‘:controller/:action/:id’
map.connect ‘:controller/:action/:id.:format’
end
Por loq eu he leido se supone que asi creo la ruta rest de la forma en
que yo la quiero, pero no hay manera, cada vez qeu ejecuto el servido e
intento ejecutar una ruta de estas caracteristicas me dice:
undefined method `ladrillos_path’ for #ActionView::Base:0x4793ae8
Extracted source (around line #5):
2:
3: <%= error_messages_for :ladrillo %>
4:
5: <% form_for(@ladrillo) do |f| %>
6:
7: Tamano
8: <%= f.text_field :tamano %>
¿Que hago mal?
No se supone que al anidar las rutas no deberia existir este problema??
gracias por las respuestas.
Un saludo