- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 Ruby on Rails 迁移脚本中创建一个唯一
列。最好的方法是什么?还有一种方法可以为表中的列建立索引吗?
我想在数据库中强制执行唯一
列,而不是仅使用:validate_uniqueness_of
.
1 Câu trả lời
旧版本 Rails 的简短答案(请参阅 Rails 4+ 的其他答案):
add_index :table_name, :column_name, unique: true
要将多个列一起索引,您可以传递一个列名数组而不是单个列名,
add_index :table_name, [:column_name_a, :column_name_b], unique: true
如果出现“索引名称...太长”,您可以在 add_index 方法中添加 name: "whatever"
以使名称更短。
对于细粒度控制,有一个“thực hiện
”方法可以直接执行 SQL。
就是这样!
如果您这样做是为了替代常规的旧模型验证,请检查它是如何工作的。如果没有模型级验证,向用户报告的错误可能不会那么好。你总是可以两者兼得。
关于ruby-on-rails - 如何在 Ruby on Rails 迁移中使列唯一并为其建立索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1449459/
Sanitize có nghĩa là gì trong Rails? Tôi đang đọc tài liệu về CanCanCan. Tài liệu nói rằng: Khi sử dụng strong_parameters hoặc Rails 4+, bạn
Trong vài tháng qua, tôi cảm thấy mình đã đạt đến giới hạn những gì tôi có thể làm với việc phát triển Ruby on Rails (RoR). Tôi đã phát triển các ứng dụng lớn và nhỏ cho các khách hàng, dự án lớn/nhỏ và dự án của bạn bè/sở thích. Tôi biết cách phát triển những ứng dụng này, nhưng nó bắt đầu trở nên khó khăn
Hôm qua tôi đã tham dự một buổi họp về việc mở rộng Rails và một trong những chủ đề là Hexagonal Rails. Tuy nhiên, tôi mới chỉ làm Rails được một năm và rất thoải mái với cấu trúc MVC (có thể là quá thoải mái), vì vậy tôi không thực sự hiểu về bộ điều hợp và hàng đợi tin nhắn.
Tôi làm việc với nhiều ứng dụng Rails, một số trên Rails 3.2/Ruby 2.0, một số trên Rails 2.3/Ruby 1.8.7. Điểm chung của tất cả chúng là khi chúng phát triển và thêm nhiều phụ thuộc/viên ngọc hơn
Câu hỏi này đã có câu trả lời tại đây: Sử dụng Rails-UJS trong các mô-đun JS (Rails 6 với webpacker) (5 câu trả lời) Đã đóng 3 năm trước. Tôi đang cố gắng sử dụng UJS
Tôi đang phát triển một ứng dụng Rails hiện đang sử dụng Rails 1.2, vì vậy tôi vẫn còn lâu mới có phiên bản ổn định mới nhất (Rails 2.3) tại thời điểm này. Tôi nên thực hiện quy trình di chuyển sang phiên bản Rails mới hơn như thế nào? Tôi nên
Đang cố gắng làm theo hướng dẫn Backbone.js của Ryan Bates để xây dựng ứng dụng rút thăm trúng thưởng, nhưng tôi gặp sự cố với đoạn mã đầu tiên. Trong hàm init của application.js, anh ấy khởi tạo bộ định tuyến Raffler
Tôi đang sử dụng Rails 3.2 và tôi có một bảng cơ sở dữ liệu mà tôi muốn tìm tất cả các hàng thỏa mãn điều kiện sau: a = true và b = true và ( 0 true, :b =>
Tôi có một lớp Người dùng và một Liên hệ, trong đó Liên hệ là lớp con của Người dùng. Cả hai lớp đều được lưu trữ trong bảng users. Danh bạ của tôi có thể có hoặc không có địa chỉ email, trong khi người dùng của tôi yêu cầu phải có địa chỉ email (tôi có validates_prefix trong định nghĩa mô hình Người dùng của mình).
Tôi đang viết một bài hướng dẫn trong đó tôi trình bày một số lệnh rails. Trên máy của tôi, cả rails và script/rails đều hoạt động tốt như nhau. Có hình thức "ưa thích" nào không? Trong hai cách này, cách nào phổ biến hơn? Câu trả lời hay nhất Khi bạn chạy đường ray
Tôi đang tìm lời khuyên về cách tốt nhất để phát triển ứng dụng của mình và đây là lần đầu tiên tôi bắt đầu tích hợp Elasticsearch. Tôi là người mới bắt đầu nhưng muốn tham gia nên hãy bỏ qua bất kỳ lỗi rõ ràng nào! Tôi đã làm theo http://www.sitep
Tôi vừa bắt đầu một ứng dụng Rails mới bằng Rails mới và thay đổi cài đặt cơ sở dữ liệu mặc định thành PostgresSQL. Tôi đã khởi động máy chủ với bin/rails s và kết quả thật lạ 2016-04-21 05:0
Tôi nhận được một tham số và muốn nó là một chuỗi như thế này: "abc,efg" hoặc một mảng như thế này ["abc","efg"] Trong trường hợp đầu tiên, tôi muốn chuyển đổi nó thành một mảng, cách tốt nhất để thực hiện là gì? Đây là ý tưởng của tôi nếu params[:
Tôi vừa bắt đầu một ứng dụng Rails mới bằng Rails mới và thay đổi cài đặt cơ sở dữ liệu mặc định thành PostgresSQL. Tôi đã khởi động máy chủ với bin/rails s và kết quả thật lạ 2016-04-21 05:0
Tôi nhận được một tham số và muốn nó là một chuỗi như thế này: "abc,efg" hoặc một mảng như thế này ["abc","efg"] Trong trường hợp đầu tiên, tôi muốn chuyển đổi nó thành một mảng, cách tốt nhất để thực hiện là gì? Đây là ý tưởng của tôi nếu params[:
Tôi có Rails 4, đây là phiên bản mặc định của tôi (và tôi vẫn muốn giữ nguyên như vậy). Nhưng tôi không muốn thêm Rails 3.2 vào máy tính của mình. Trong lệnh sau: gem install rails -v 3.2.16 Tôi có cảnh báo này: railt
Xin chào, tôi muốn xây dựng một "Rails Brick" bằng Sheevaplug của Marvell (hệ điều hành là Ubuntu ngay khi cài đặt, nhưng bạn có thể cài đặt các bản phân phối khác trên đó). Nó sẽ là một máy chủ gia đình và im lặng, chi phí thấp (99
Tôi cần có khả năng gửi tất cả lời mời chưa được chấp nhận trong cơ sở dữ liệu Postgres của ứng dụng Rails từ bảng điều khiển Rails. (Tôi có một bảng có tên là Invitations chứa một b được gọi là accepted
xác thực :cannot_modify_if_locked, trên: :update def cannot_modify_if_locked nếu self.locked lỗi
Tôi đang làm theo hướng dẫn (Learn Rails Podcast) và cần thay đổi cú pháp tuyến đường sau để tương thích với Rails 3.0. Có ai có thể giúp được không? map.view_page ':name', :controller => 'view
Tôi là một lập trình viên xuất sắc, rất giỏi!