ActiveRecord có create
và một số người sử dụng create!
... Có phải là create!
có thể tăng ngoại lệ trong khi create
không? Tôi không thể tìm thấy create!
trong tài liệu API Rails hiện tại ...Trong Ruby on Rails, sự khác biệt giữa tạo và tạo ra là gì! và tài liệu API không có nó?
10
A
Trả lời
17
Có, create!
sẽ tăng ngoại lệ về lỗi, create
chỉ trả về sai. Tài liệu tại đây:
http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-create-21
1
Có. Một ngoại lệ được nêu ra nếu bản ghi không hợp lệ.
1
Tôi đã thử nghiệm nó trong Rails 4.2.0
. Trong phiên bản Rails này, có vẻ như, #create!
hoạt động như đã nói trong câu trả lời khác, nhưng không phải là phương pháp #create
.
tạo ra một đối tượng (hoặc nhiều đối tượng) và lưu nó vào cơ sở dữ liệu, nếu hợp lệ vượt qua. Đối tượng kết quả được trả về cho dù đối tượng đã được lưu thành công vào cơ sở dữ liệu hay không.
Đây là một số thử theo tài liệu.
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)>
Các vấn đề liên quan
- 1. Sự khác biệt giữa Ruby và Ruby on Rails là gì?
- 2. JRuby on Rails và Ruby on Rails, sự khác biệt là gì?
- 3. Sự khác biệt giữa Ruby on Rails và Grails là gì?
- 4. sự khác biệt giữa/là gì nó/và/\ Ait \ Z/
- 5. Trong Ruby on Rails, "tài nguyên" có nghĩa là gì?
- 6. Tuyến đường Ruby on Rails - sự khác biệt giữa nhận và khớp
- 7. Ruby on rails sự khác biệt giữa hội nhập và chức năng thử nghiệm
- 8. Sự khác biệt giữa trình khởi tạo cá thể và hàm tạo là gì?
- 9. Rails điều khiển tạo ra sự khác biệt giữa hành động và Model.new Model.create
- 10. Tài liệu Ruby on Rails
- 11. Sự khác biệt giữa bộ khởi tạo đối tượng và hàm tạo là gì?
- 12. Trong Ruby on Rails, sự khác nhau giữa DateTime, Dấu thời gian, Thời gian và Ngày tháng là gì?
- 13. Sự khác nhau giữa: = và + = trong tạo tệp là gì?
- 14. System.Globalization là gì và sự khác biệt giữa nó và nội địa hóa là những gì
- 15. Trong Ember.js, sự khác biệt giữa [] và Ember.A ([]) là gì?
- 16. Sự khác biệt giữa BlobBuilder và hàm tạo Blob mới là gì?
- 17. khác biệt giữa <% = expression%> và <% = expression -%> trên Ruby On Rails
- 18. Sự khác biệt chính giữa Sinatra và Ramaze là gì?
- 19. Sự khác biệt giữa build.sbt và build.scala là gì?
- 20. Ruby on Rails tạo ra trường model: type - các tùy chọn cho trường: type là gì?
- 21. Sự khác biệt giữa Thông báo và pynotify là gì?
- 22. Sự khác biệt giữa RoutedCommand và RoutedUICommand là gì?
- 23. Sự khác biệt giữa '&' và ',' trong Generics Java là gì?
- 24. SQLAlchemy: Sự khác biệt giữa flush() và commit() là gì?
- 25. sự khác biệt giữa DoCmd.SetWarnings và CurrentDB.Execute là gì
- 26. Sự khác biệt giữa fn và fn * là gì?
- 27. sự khác biệt giữa callback là gì và hứa
- 28. Sự khác biệt giữa JOIN ON và JOIN WITH trong Doctrine2 là gì?
- 29. Sự khác biệt giữa JApplet và Applet là gì và tôi nên sử dụng nó?
- 30. Sự khác nhau giữa API lõi của Ruby và API thư viện chuẩn là gì?
tôi đang tìm kiếm tại http://api.rubyonrails.org/classes/ActiveRecord/Base.html và không thể tìm thấy nó ... có lẽ nên có liên kết đến trang của bạn –
@ 動靜 能量: bạn luôn có thể xem [chỉ mục phương pháp RoR] (http://api.rubyonrails.org/fr_method_index.html). Đây là khung bên trái phía dưới khi bạn truy cập api.rubyonrails.org – cam