- vừa được xem lúc

[Rails] Tự Động Cập Nhật Annotate Sau Khi Chạy Migrate

0 0 37

Người đăng: Hữu Ngọc Tiên Sinh

Theo Viblo Asia

Screen Shot 2022-06-15 at 11.21.31.png

Nếu là một ruby on rails developer, bạn đã từng sử dụng hoặc nghe đến gem Annotate, 1 gem sinh ra các dòng comment bên trên mỗi file model hoặc routes khi nội dung các columns cũng như index, foreign key của table.

Auto chạy annotate khi migrate hoặc rollback

Khi ban đầu bạn cài đặt gem, mặc định khi bạn chạy câu lệnh

rails g annotate:install

Sẽ tự động sinh ra file lib/tasks/auto_annotate_models.rake, trong đó chứa config của annotate và nó sẽ tự động cập nhật annotate tương ứng với model được tác động mỗi lần chạy migrate hoặc rollback.

Tuy nhiên, có những trường hợp mà annotate không tự động cập nhật comment trong models. Bạn có thể thử với 2 cách bên dưới:

  1. Cách 1 (trong rails 3)
# lib/tasks/auto_annotate_models
# Annotate models on each run of rake db:migrate
Dir["#{Gem::Specification.find_by_name("annotate").full_gem_path}/**/tasks/**/*.rake"].each {|ext| load ext} if Rails.env.development?
  1. Cách 2 (Mình cũng hay xài) Thêm đoạn code bên dưới vào file lib/tasks/auto_annotate_models.rake:
# Annotate models task :annotate do puts 'Annotating models...' system 'bundle exec annotate' end # Run annotate task after db:migrate and db:rollback tasks Rake::Task['db:migrate'].enhance do Rake::Task['annotate'].invoke end Rake::Task['db:rollback'].enhance do Rake::Task['annotate'].invoke end

Như vậy, Annotate sẽ tự động chạy sau mỗi lần migrate hoặc rollback. Chúc các bạn thành công ❤️

Tài liệu tham khảo

https://github.com/ctran/annotate_models

https://github.com/ctran/annotate_models/wiki

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tôi cá là bạn không biết những điều này - Ruby on rails ( Phần 2)

Các bạn có thể theo dõi phần 1 ở đây :. https://viblo.asia/p/toi-ca-la-ban-khong-biet-nhung-dieu-nay-ruby-on-rails-phan-1-WAyK8DDeKxX. 5.

0 0 222

- vừa được xem lúc

Rails Memoization

Memoization is a process that can be used to speed up rails methods. It caches the results of methods that do time-consuming work, work that only needs to be done once. Here is an example. Example.

0 0 48

- vừa được xem lúc

Tại sao Rails lại dùng cả Webpack lẫn Sprocket?

Khi Rails 6 được ra mắt, có thể bạn đã từng tự hỏi. WTF, sao Webpack đã được add vào rồi, mà Sprocket vẫn tồn tại thế kia . Chẳng phải Webpack và Sprocket được dùng để giải quyết chung một công việc hay sao. Hoặc cả đây:.

0 0 59

- vừa được xem lúc

Bạn nên sử dụng Elasticsearch trong ứng dụng Ruby On Rails như thế nào?

Elasticsearch là một công cụ phân tích và mã nguồn mở mạnh mẽ và linh hoạt, phân tán, theo thời gian thực. Đó là tiêu chuẩn vàng trong công nghệ tìm kiếm.

0 0 80

- vừa được xem lúc

Form object pattern trong rails

1.Mở đầu.

0 0 111

- vừa được xem lúc

Sử dụng Twilio để gửi SMS trong ứng dụng Ruby on Rails

Ngoài cách xác nhận tài khoản hay gửi thông báo bằng email thì hôm nay mình sẽ hướng dẫn các bạn 1 cách nữa là thông qua SMS/Voice. Công cụ sử dụng sẽ là gem Twilio. Installation. Để cài đặt bằng Bundler, hãy lấy phiên bản mới nhất:.

0 0 67