ActiveRecord tiene create
y algunas personas usan create!
... ¿Es que create!
puede generar una excepción, mientras que create
no? No puedo encontrar create!
en los documentos de la API Rieles actuales ...En Ruby on Rails, ¿cuál es la diferencia entre crear y crear! y los documentos API no lo tienen?
10
A
Respuesta
17
Sí, create!
lanzará una excepción en caso de fallo, create
sólo devuelve falso. Documentación aquí:
http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-create-21
1
Sí. Se genera una excepción si el registro no es válido.
1
Lo he probado en Rails 4.2.0
. En esta versión de Rails, parece que #create!
funciona como se dijo en la otra respuesta, pero no en el método #create
.
crea un objeto (o varios objetos) y lo guarda en la base de datos, si pasan validaciones. El objeto resultante se devuelve si el objeto fue guardado correctamente en la base de datos o no.
Aquí hay algunos intentos según la documentación.
Arup-iMac:rails_app_test shreyas$ rails c
Loading development environment (Rails 4.2.0)
[1] pry(main)> show-models Person
Person
id: integer
name: string
created_at: datetime
updated_at: datetime
[2] pry(main)> Person.create!
(0.1ms) begin transaction
(0.1ms) rollback transaction
ActiveRecord::RecordInvalid: Validation failed: Name can't be blank, Name is too short (minimum is 3 characters)
from /Users/shreyas/.rvm/gems/[email protected]_app_test/gems/activerecord-4.2.0/lib/active_record/validations.rb:79:in `raise_record_invalid'
[3] pry(main)> Person.create
(0.1ms) begin transaction
(0.0ms) rollback transaction
=> #<Person:0x007fdb4cc5b0a0 id: nil, name: nil, created_at: nil, updated_at: nil>
[4] pry(main)> Person.count
(0.2ms) SELECT COUNT(*) FROM "people"
=> 0
[5] pry(main)>
Cuestiones relacionadas
- 1. ¿Cuál es la diferencia entre Ruby y Ruby on Rails?
- 2. ¿Cuál es la diferencia entre Ruby on Rails y Grails?
- 3. En Ruby on Rails, ¿cuál es la diferencia entre DateTime, Timestamp, Time y Date?
- 4. ¿Cuál es la diferencia entre Rack y Rails Metal (Ruby)?
- 5. ¿cuál es la diferencia entre crear y nuevo?
- 6. Ruby on rails: ¿Cuál es la diferencia entre respon_to y respon_with?
- 7. Ruby on Rails: diferencia entre el recurso plural y el singular en una API REST
- 8. Ruby on rails diferencia entre integración y prueba funcional
- 9. Crear archivo descargable en Ruby on Rails
- 10. JRuby on Rails vs. Ruby on Rails, ¿cuál es la diferencia?
- 11. Cuál es la diferencia entre jQuery .live() y .on()
- 12. ¿Cuál es la diferencia entre incluir y extender en Ruby?
- 13. ¿Cuál es la diferencia entre include y require en Ruby?
- 14. ¿Cuál es la diferencia entre STDIN y $ stdin en Ruby?
- 15. ¿Cuál es la diferencia entre arrancar y recolectar en Rails?
- 16. ¿Cuál es la diferencia entre require_relative y require en Ruby?
- 17. ¿cuál es la diferencia entre salir y salir? en ruby?
- 18. ¿Cuál es la diferencia entre% Q y% {} en ruby?
- 19. ¿Cuál es la diferencia entre Class y Klass en ruby?
- 20. ¿Cuál es la diferencia entre Object y BasicObject en Ruby?
- 21. ¿Cuál es la diferencia entre belongs_to y has_one?
- 22. ¿Cuál es la diferencia entre Django, Ruby on Rails, Google App Engine, etc.?
- 23. Combinación de Ruby on Rails y Backbone
- 24. ¿cuál es la diferencia entre:.! y: r !?
- 25. Almacenamiento de documentos con Ruby On Rails
- 26. cómo crear formularios de asistente en ruby on rails
- 27. ¿Cuál es la diferencia entre crear la configuración regional para en-US y en_US?
- 28. ¿Cuál es la diferencia entre 'no en' y 'no existe'?
- 29. Rieles: ¿diferencia entre crear y nuevos métodos en ActiveRecord?
- 30. ¿Cuál es la diferencia entre ".equals" y "=="?
estaba mirando http://api.rubyonrails.org/classes/ActiveRecord/Base.html y no pudo encontrarlo ... tal vez no debería haber un enlace a su página de –
@ 動靜 能量: se siempre puede consultar el [índice del método RoR] (http://api.rubyonrails.org/fr_method_index.html). Este es el marco inferior izquierdo cuando vas a api.rubyonrails.org – cam