Estoy empezando con ruby desarrollando una parte de una web. En mi
código tengo el controlador “book” y me pasan su id en la variable
Book.current_book.id, pero me da el siguiente error.
undefined method `current_book’ for Book:Class
¿Cómo puedo definir esa variable para mis pruebas?
Yo estoy intentando crear una variable temporal para mis pruebas que se
llame Book.current_book.id.
La estoy intentando inicializar asÃn:
Book.current_book.id = “1”
Pero me da el siguiente error…
NoMethodError in Book templatesController#paso0
You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.current_book
Muchas gracias
Vayamos por partes:
Book es una clase
Book.current_book quiere decir que se esta llamando al metodo
current_book de la clase Book. Al hacer esto sin instanciar algun
objeto, se puede decir que current_book es un metodo de clase. Pero no
puedes asignar un valor a un metodo de clase, amenos que sea una
variable de clase (las q llevan doble arroba @@mi_var_class)
Lo que tu quieres hacer es algo como lo que te dijo alarkspur:
puedes usar una variable de instancia para guardar el id del libro
actual.
@current_book = @book.id
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.