Hola, Estoy probando la funcionalidad que ofrece ror con su generador
scaffold, tengo dos tablas:
<< POSTS >>
create_table :posts do |t|
t.column :nombre, :string
t.column :descrip, :text
end
class PostController < ApplicationController
scaffold :post
end
class Post < ActiveRecord::Base
validates_presence_of :nombre
has_many :comments
end
<<< COMMENTS >>
create_table :comments do |t|
t.column :post_id, :integer
t.column :nombre, :string
end
class CommentController < ApplicationController
scaffold :comment
end
class Comment < ActiveRecord::Base
validates_presence_of :nombre
belongs_to :post
end
Mi problema es que en controller Comments, nunca me aparece post_id,
cuando teoricamente “la magia” del scaffold deberia encontrar esa
relación, ¿Alguien me puede ayudar con esto?
Hola Jaime, gracias por contestar, tambien me pasa lo mismo, la verdad
no lo entiendo, he probado activeScaffold y si que detecta la relacion,
pero con el scaffold generator, nada.
no lo entiendo, he probado activeScaffold y si que detecta la relacion,
pero con el scaffold generator, nada.
Hola Ricardo, el Scaffold de Rails simplemente es un soporte inicial con
acciones fundamentales de CRUD, que empiezas a tocar para que funcione
acorde a tus necesidades. Esto representa una gran ventaja, que puedas
ver toda la maquinaria funcionando. Si realmente estás dispuesto a dar
un salto al nuevo paradigma de desarrollo en Rails, te recomiendo
estudies REST [1]. En esta lista encontrarás hilos que hablan sobre el
tema. Además te recomiendo la lectura “Descubriendo un mundo de
recursos en Rails” por David Heinemeier H. [2].
Hola Jaime, hasta ahora he estado trabajando con symfony, el scaffold de
symfony si que generaba los campos de las FK, por eso no entendÃa como
ror no lo genera. Seguramente estoy cometiendo algún error, y no lo he
notado. Probando las relaciones has_many para recuperar los objetos con @user.commnets.find(:all) , el comportamiento es el esperado, pero me ha
surgido otra duda, :). al solicutar los objetos en el controller @user.commnets.find(:all) y por ejemplo volver a solicitarlos desde la
vista @user.commnets, me vuelve a hacer una consulta a la base de datos
cuando ya deberian estar cacheados dentro del propio objeto @user.commnets, ¿Me equivoco?
surgido otra duda, :). al solicutar los objetos en el controller @user.commnets.find(:all) y por ejemplo volver a solicitarlos desde la
vista @user.commnets, me vuelve a hacer una consulta a la base de datos
cuando ya deberian estar cacheados dentro del propio objeto @user.commnets, ¿Me equivoco?