Ruby on Rails genera el campo modelo: tipo - ¿Cuáles son las opciones para el campo: Tipo?
-
10-10-2019 - |
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 ...
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