Pregunta

Estoy tratando de generar un nuevo modelo y olvidar la sintaxis para hacer referencia a la identificación del otro modelo. Me vería que yo mismo, pero no lo he descubierto, entre todos mis Ruby on Rails vínculos de documentación, cómo encontrar la fuente definitiva.

$ rails g model Item name:string description:text (y aquí tampoco reference:product o references:product). Pero la mejor pregunta es donde o ¿Cómo ¿Puedo buscar este tipo de tonterías fácilmente en el futuro?

Nota: He aprendido de la manera difícil que si ha tecleado mal una de estas opciones y Ejecutar mi migración a continuación, Ruby on Rails totalmente tornillo hasta mi base de datos ... y rake db:rollback es impotente frente a tales screwups. Estoy seguro de que no soy la comprensión algo, pero hasta que lo haga ... la información "detallada" devuelto por rails g model todavía me rascado ...

Hojas
¿Fue útil?

Solución

:primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp,
:time, :date, :binary, :boolean, :references

Vea la sección de las definiciones de tabla .

Otros consejos

Para crear un modelo que hace referencia a otra, utilizan el Ruby on Rails generador de modelos:

$ rails g model wheel car:references

Esto produce app / modelos / wheel.rb

class Wheel < ActiveRecord::Base
  belongs_to :car
end

Y añade la siguiente migración:

class CreateWheels < ActiveRecord::Migration
  def self.up
    create_table :wheels do |t|
      t.references :car

      t.timestamps
    end
  end

  def self.down
    drop_table :wheels
  end
end

Al ejecutar la migración, el siguiente va a terminar en su db / schema.rb

$ rake db:migrate

create_table "wheels", :force => true do |t|
  t.integer  "car_id"
  t.datetime "created_at"
  t.datetime "updated_at"
end

En cuanto a la documentación, un punto de partida para raíles generadores es Ruby on Rails: Una guía para la línea de comandos rieles que apunta a documentación de la API para más información sobre los tipos de campos disponibles.

$ rails g model Item name:string description:text product:references

Yo también encontrar las guías difíciles de usar. Fácil de entender, pero difícil de encontrar lo que busco.

Además, tengo proyectos temporales que corro los comandos de rails generate. A continuación, una vez que llegue a trabajar lo ejecuto en mi proyecto real.

Referencia para el código anterior: http://guides.rubyonrails.org/getting_started. html # asociar-modelos

Recuerde que no capitalizar su texto al escribir este comando. Por ejemplo:

Do escritura:

rails g model product title:string description:text image_url:string price:decimal

No escriba:

rails g Model product title:string description:text image_url:string price:decimal

Por lo menos era un problema para mí.

http://guides.rubyonrails.org debe haber un sitio bueno si usted está tratando de conseguir a través de la materia básica en Ruby on Rails.

Aquí hay un enlace a los modelos asociados, mientras que los generan: http://guides.rubyonrails.org/getting_started.html#associating-models

Yo tenía el mismo problema, pero mi código era un poco diferente de bits.

def new @project = Project.new end

Y mi forma mirado como esto:

<%= form_for @project do |f| %> and so on.... <% end %>

Eso era totalmente correcto, así que no sé cómo resolverlo.

Por último, sólo añadir url: { projects: :create } después <%= form-for @project trabajó para mí.

Es muy simple de ROR para crear un modelo que hace referencia a otro.

carriles nombre g de modelo del artículo: Descripción de la cadena: producto de texto: referencias

Este código se sumará 'product_id' columna en la tabla de artículos

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