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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top