En los rieles genero un modelo con dos cadenas y me gustaría agregar más. ¿Cómo voy a hacer esto?¿Cómo se agrega un atributo a un modelo?
Respuesta
Active Record asigna sus columnas de tablas a los atributos en su modelo, por lo que no necesita indicarle a los rieles que necesita más, lo que tiene que hacer es crear más columnas y los raíles van a detectarlos, los atributos se ser agregado automáticamente
Puede añadir más columnas a la tabla a través migrations:
rails generate migration AddNewColumnToMyTable column_name:column_type(string by default)
Ejemplo:
rails generate migration AddDataToPosts views:integer clicks:integer last_reviewed_at:datetime
esto generará un archivo:
db/2017.....rb
abierto y añadir modificarlo si es necesario:
self.up
#add_column :tablename, :column_name, :column_type
add_column :posts, views, :integer
add_column :posts, clicks, :integer, default: 0
end
Espero que esto ayude.
Supongamos que creo una aplicación de rieles y tengo un modelo llamado User_credential. Esto actualmente tiene: nombre y número de teléfono. Después de la implementación, el jefe de repente se da cuenta de que quiere agregar una dirección al modelo. Y exige que cree un formulario que agregue atributos a un modelo. ¿Es esto posible en los rieles? – BKSpurgeon
@BKSpurgeon Una opción es usar un campo de serialización y almacenar los atributos personalizados en él. También eche un vistazo a http://api.rubyonrails.org/classes/ActiveRecord/Store.html, que le permite tratar atributos personalizados como los habituales. – JCorcuera
Sí, la solución de @JCorcuera es aplicable, pero sugiero aplicar un poco más de información a Rails para cumplir con nuestro requisito. Pruebe este enfoque:
rails generate migration add_columnname_to_tablename columnname:datatype
Por ejemplo:
rails generate migration add_password_to_users password:string
Esta es definitivamente una mejor manera de hacerlo, solo asegúrese de obtener los nombres correctos para que funcione. – HussienK
"obtiene los nombres correctos para que funcione": me gustaría añadir que add_columnname_to_tablename tiene un significado y tiene sentido. Eso puede parecer obvio, pero no pensé en ello de inmediato, proveniente de otra herramienta de migración donde el nombre de la migración nunca fue relevante. – Sarumanatee
Si está utilizando el 4.x rieles que ahora puede generar migraciones con referencias, así:
rieles generan la migración Usuario de AddUserRefToProducts: referencias
como usted puede ver en rails guides
sólo para que sea aún más simple que puede hacer:
rails g migration add_something_to_model something:string something_else:integer
- 1. ¿Cómo se accede a un atributo de modelo en jquery?
- 2. Cómo proteger un atributo de modelo Rails?
- 3. Eliminar un atributo de un modelo Backbone.js
- 4. jQuery agrega un atributo extraño a los nodos
- 5. ¿Cómo se agrega información JOIN a un archivo rails seeds.rb?
- 6. Recargar un atributo de modelo
- 7. ¿Cómo se agrega un atributo "id" a Html.LabelFor() en ASP.NET MVC2?
- 8. ¿Cómo se agrega GPUImage a un proyecto de iOS?
- 9. ¿Cómo se agrega una barra de desplazamiento a un div?
- 10. MySQL ¿cómo se agrega a un archivo con INTO OUTFILE?
- 11. Escriba un atributo virtual del modelo ActiveRecord
- 12. Agregar valores a un atributo desplegable magento o multi-seleccionar mientras agrega un nuevo producto
- 13. Agregar atributo a un objeto en PHP
- 14. Rieles: Cargue solo un atributo, no un modelo completo
- 15. ¿Cómo verificar si un modelo tiene una determinada columna/atributo?
- 16. Crear iframe con javascript que se agrega a un div
- 17. ¿por qué se agrega un carácter # a la url?
- 18. ¿Cómo crear mensajes personalizados en magento cuando un usuario agrega un artículo a un carrito?
- 19. Ejecutar un comando de shell cuando se agrega un archivo
- 20. ¿Agrega propiedades dinámicamente a un objeto dinámico?
- 21. ¿Es útil el atributo/propiedad "asincrónico" si un script se agrega dinámicamente al DOM?
- 22. Impedir que el modelo Backbone.js se valide cuando se agrega por primera vez a la colección
- 23. ¿Cómo se agrega un retorno de carro a un valor en MySQL?
- 24. ¿Cómo se agrega un botón de edición a cada fila en un informe en Oracle APEX?
- 25. ¿Cómo se agrega un retraso temporizado a un programa en C++?
- 26. ¿Cómo se agrega un widget de JavaScript a un blog alojado en Wordpress.com?
- 27. C++ agrega un vector a otro
- 28. XCode 4: ¿Cómo se agrega un marco existente?
- 29. git: ¿Cómo se agrega un directorio externo al repositorio?
- 30. ¿Cómo actualizar el modelo cuando se vincula a un ViewModel?
Estos son atributos públicos? – natedavisolds
necesita una migración http://guides.rubyonrails.org/migrations.html#creating-a-migration – dexter
Así que solo agregue la cadena a la migración y luego rake db: migrate? – jsttn