tutorial rails index home generate example delete commands active ruby-on-rails generator rails-activerecord

ruby-on-rails - index - rails generate view



Ruby on Rails genera el campo del modelo: tipo. ¿Cuáles son las opciones para el campo: tipo? (6)

Para crear un modelo que haga referencia a otro, use el generador de modelos de Ruby on Rails:

$ rails g model wheel car:references

Eso produce app / models / 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

Cuando ejecute la migración, lo siguiente 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 los generadores de rieles es Ruby on Rails: una guía de la línea de comandos de Rails que le indica la documentación de la API para obtener más información sobre los tipos de campos disponibles.

Estoy intentando generar un nuevo modelo y olvidar la sintaxis para hacer referencia a la ID de otro modelo. Lo busqué yo mismo, pero no he descubierto, entre todos mis enlaces de documentación de Ruby on Rails, cómo encontrar la fuente definitiva.

$ rails g model Item name:string description:text (y aquí, ya sea reference:product o references:product ). Pero la mejor pregunta es ¿ dónde o cómo puedo buscar este tipo de tonterías fácilmente en el futuro?

Nota: Aprendí de la manera más difícil que si escribo mal una de estas opciones y ejecuto mi migración , Ruby on Rails arruinará totalmente mi base de datos ... y rake db:rollback es impotente ante tales errores. Estoy seguro de que no estoy entendiendo algo, pero hasta que lo haga ... la información "detallada" devuelta por los rails g model todavía me deja rascar ...


Recuerda no poner mayúsculas en tu texto al escribir este comando. Por ejemplo:

Escribe:

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

Al menos fue un problema para mí.


Tuve el mismo problema, pero mi código era un poco diferente.

def new @project = Project.new end

Y mi forma se veía así:

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

Eso fue totalmente correcto, así que no sabía cómo resolverlo.

Finalmente, solo agregue url: { projects: :create } después de que <%= form-for @project funcionó para mí.



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

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

Además, tengo proyectos temporales en los que ejecuto los rails generate comandos. Luego, una vez que los hago funcionar, los ejecuto en mi proyecto real.

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


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

Vea la sección de definiciones de tablas .