belongs_to objetos en los carriles
-
30-09-2019 - |
Pregunta
Hola estoy construyendo actualmente una aplicación de foro poco con los carriles (3). Soy bastante nuevo en los rieles materia y me quedé atrapado con los temas.
Tengo 2 modelos (tema) y topic_reply
modelo de tema:
class Topic < ActiveRecord::Base
belongs_to :board
belongs_to :user
has_many :topic_replies, :dependent => :destroy
TOPIC_TYPES = ["Non-support", "Question"]
validates :topic_type, :inclusion => TOPIC_TYPES
end
modelo de respuesta tema:
class TopicReply < ActiveRecord::Base
belongs_to :topic
belongs_to :user
end
Cuando estoy creando un tema que todo está mostrando bien a excepción de los topic_replies (todos los puestos dentro del tema)
La razón es la siguiente:. Mi objetivo topic_reply ahorra todo correctamente excepto que no guarda los del topic_id en el objeto y por lo tanto en mi db
he aquí una parte de mi regulador del tema para crear un tema:
# GET /topics/new
# GET /topics/new.xml
def new
@topic = Topic.new
@topic_reply = @topic.topic_replies.build
respond_to do |format|
format.html # new.html.erb
end
end
# POST /topics
# POST /topics.xml
def create
@topic = Topic.new(params[:topic])
@topic.id_board = @board.id
@topic_reply = @topic.topic_replies.build(params[:topic_reply])
@topic_reply.id_topic = @topic.id
@topic_reply.id_poster = User.first.id
respond_to do |format|
if @topic.save && @topic_reply.save
format.html { redirect_to(topic_path("#{@board.name.parameterize}-#{@board.id}", "#{@topic.title.parameterize}-#{@topic.id}")) }
else
format.html { render :action => "new" }
end
end
end
¿Alguien tiene una idea de lo que estoy haciendo mal, si he publicado también menos información que me haga saber que voy a añadir lo que necesita.
Gracias de antemano
Solución
Sus claves externas debe ser nombrado topic_id
, poster_id
y board_id
ya que estos son los valores por defecto en los carriles. No está definiendo columnas no predeterminados en sus modelos, por lo que el código actual no puede trabajar.