Soy nuevo a los rieles y no puedo entender este tema ...Ruby on Rails modelo de espacio de nombres en el interior no se puede encontrar en el controlador
Tengo un controlador
Admin::Blog::EntriesController
definido en app/controllers/admin/blog/entries_controller.rb
y tengo un modelo llamado
Blog::Entry
defin ed en app/modelo/blog/entry.rb
Cuando intento acceder a mi modelo del controlador, aparece un "uninitialized constant Admin::Blog::EntriesController::Blog"
de esta línea:
@blog_entries = Blog::Entry.find(:all)
Está claro que no es encontrar el espacio de nombres correctamente qué es extraño porque de acuerdo con lo que he leído, he colocado mi modelo en la carpeta correcta con la sintaxis correcta.
¿Alguna idea sobre cómo puedo solucionar esto?
Gracias
Ah, gracias, eso funcionó. Sin embargo, resulta que también tengo que establecer un nombre de tabla personalizado para mi modelo. Además, el form_for helper no funciona porque utiliza el elemento " _path" para el atributo de acción, por lo que arroja un error que no puede encontrar el método "blog_entries_path" ... ¿Alguna idea? –
nlaq
Estoy empezando a pensar que los rieles fruncen el ceño ante múltiples espacios de nombres para modelos y controladores ... Lo cual es una lástima porque me gusta mucho la estructura de ruta//. –
nlaq
la convención de los rieles es que los nombres de modelo son singulares, mientras que los controladores son plurales.Tal vez cambie el nombre del controlador Admins :: Blogs :: EntriesController (sí, parece extraño) Quizás también deba replantearse el uso de modelos con espacios de nombres, probablemente sean más problemas de los que merecen, consulte http://stackoverflow.com/questions/601768/namespaced-models-in-rails-whats-the-state-of-the-union – levinalex