ActiveModel :: MissingAtTributeError: No se puede escribir un atributo desconocido `book_id` -- ruby-on-rails campo con ruby camp Relacionados El problema

ActiveModel::MissingAttributeError: can't write unknown attribute `book_id`


0
vote

problema

Español

Tengo este problema, pero no sé por qué. Creo modelos con generador:

  bin/rails generate model Book name:string author:string description:text cover:string bin/rails generate model Episode name:string description:text art:string ant other...   

book.rb

  class Book < ApplicationRecord has_many :episodes end   

episodio.rb

  class Episode < ApplicationRecord belongs_to :book has_many :scenes end   

Cuando esté en la consola, intento: export_format0 Tuve un error: export_format1111 Mi esquema.rb

  export_format2  

En esquema, no tengo id_book, pero ¿por qué? También hago DB: MIGRATE Y TENGA ERROR OTRA VEZ.

Original en ingles

I have this problem, but don't know why. I create models with generator:

bin/rails generate model Book name:string author:string description:text cover:string bin/rails generate model Episode name:string description:text art:string ant other... 

book.rb

class Book < ApplicationRecord has_many :episodes end 

episode.rb

class Episode < ApplicationRecord belongs_to :book has_many :scenes end 

When in console i try to: book.episodes << episode i had an error: ActiveModel::MissingAttributeError: can't write unknown attribute "book_id" My schema.rb

ActiveRecord::Schema.define(version: 20170320111956) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" create_table "answers", force: :cascade do |t| t.text     "text" t.string   "next_scene" t.string   "next_episode" t.string   "voiceover" t.integer  "end" t.datetime "created_at",   null: false t.datetime "updated_at",   null: false end create_table "books", force: :cascade do |t| t.string   "name" t.string   "author" t.text     "description" t.string   "cover" t.datetime "created_at",  null: false t.datetime "updated_at",  null: false end create_table "episodes", force: :cascade do |t| t.string   "name" t.text     "description" t.string   "art" t.datetime "created_at",  null: false t.datetime "updated_at",  null: false end create_table "scenes", force: :cascade do |t| t.string   "name" t.text     "text" t.integer  "choise" t.string   "next_scene" t.string   "next_episode" t.string   "art" t.string   "music" t.string   "sound_fx" t.string   "voiceover" t.integer  "end" t.datetime "created_at",   null: false t.datetime "updated_at",   null: false end end 

In schema i haven't id_book, but why? I also do db:migrate and have error again.

     
   
   

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

De forma predeterminada, los rieles utilizan la convención de nombrar el principal como la columna Autogeneated id . Si desea especificar una clave primaria diferente, como book_id , puede hacer lo siguiente:

  GETUTCDATE()0  
 

By default, Rails uses the convention of naming the primary as the autogenerated column id. If you wish to specify a different primary key, such as book_id, you could do the following:

class Book < ApplicationRecord   self.primary_key = "book_id" end 
 
 

Relacionados problema

23  ¿Cómo puedo arreglar el error 'STORY DE VISTA DE VISUALIZACIÓN INSCRIBIDA' CON EL COMPLEMENTO DE EXCEXNOTIQUERO EN RAILS 2.1?  ( How do i fix unprocessed view path found error with exceptionnotifier plugin i ) 
Después de actualizar un sitio web de RAILS 1.2 a 2.1, el excepcionnotifier plugin ya no funciona, quejándose de este error : ActionView :: TemplateFinde...

46  ¿Cómo uso (n) maldiciones en Ruby?  ( How do i use ncurses in ruby ) 
Me gustaría crear una barra de progreso para indicar el estado de un trabajo por lotes en Ruby . He leído algunos tutoriales / < un href = "http://ncurse...

47  ¿Cómo agrego comentarios existentes a RDOC en Ruby? [cerrado]  ( How do i add existing comments to rdoc in ruby ) 
cerrado. Esta pregunta no cumple con pautas de desbordamiento de pila . Actualmente no está aceptando respuestas. ...

22  SystemExit frecuente en Ruby al hacer llamadas HTTP  ( Frequent systemexit in ruby when making http calls ) 
Tengo un sitio web de Ruby On Rails que hace llamadas HTTP a un servicio web externo. Acerca de una vez al día Obtengo un correo electrónico de error System...

55  Implementación de "Recordarme" en una solicitud de rieles  ( Implementation of remember me in a rails application ) 
My Rails-App tiene una casilla de inicio de sesión con una casilla de verificación "Recordarme". Los usuarios que comprueban esa casilla deben permanecer cone...

29  ¿Cuáles son sus estrategias para mantener el uso de memoria bajo?  ( What are your strategies to keep the memory usage low ) 
ruby ​​ es verdaderamente hambriento de memoria, pero también vale la pena todos los bits. ¿Qué haces para mantener el uso de la memoria bajo? ¿Evita las c...

1  Ruby: Cómo romper una cadena potencialmente unicode en bytes  ( Ruby how to break a potentially unicode string into bytes ) 
Estoy escribiendo un juego que está tomando la entrada de usuario y lo hace en la pantalla. El motor que estoy usando para esto es totalmente amigable para lo...

33  Proyectos de rubí de código abierto [cerrado]  ( Open source ruby projects ) 
Según lo que actualmente representa, esta pregunta no es un buen ajuste para nuestro Q & Amp; un formato. Esperamos que las...

17  ¿Cómo puedo modificar archivos .xfdl? (Actualización # 1)  ( How can i modify xfdl files update 1 ) 
El .XFDL Extensión de archivo Identifica XFDL Archivos de documentos formateados. Estos pertenecen a la norma basada en el documento y plantilla basados ​...

338  ¿Cuándo usar Lambda, cuándo usar Proc.New?  ( When to use lambda when to use proc new ) 
En Ruby 1.8, hay diferencias sutiles entre Proc / Lambda por un lado, y Proc.new en el otro. ¿Cuáles son esas diferencias? ¿Puedes dar pautas sobre cóm...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos