2012-06-26 20 views
14

Có quy ước nào về cách/địa điểm chỉ định số phiên bản của ứng dụng không?Nơi để xác định số phiên bản của ứng dụng Rails

Ví dụ, đối với đá quý ruby ​​lib/mygem/version.rb là tệp thường được sử dụng cho mục đích đó.

đoán của tôi sẽ được tạo config/version.rb tập tin như thế:

module MySite 
    VERSION = "0.0.4" 

    # or in MySite::Application class 
    # 
    # class Application 
    # VERSION = "0.0.4" 
    # end 
end 
+0

Xem: http://stackoverflow.com/a/6178378/1352240 – YuriAlbuquerque

+0

Bạn có thể thực hiện việc này như tôi đã trả lời trước đó : http://stackoverflow.com/a/23135266/2881964 – Arugin

Trả lời

16

Tôi sẽ trả lời câu hỏi của riêng mình, tôi không thể tìm thấy câu trả lời hay hơn.

Kể từ Rails ứng dụng về cơ bản là MySite::Application Tôi nghĩ phiên bản ứng dụng cần được truy cập bởi MySite::Application::VERSION để tạo ra:

config/initializers/version.rb

module MySite 
    class Application 
    VERSION = "0.0.4" 
    end 
end 

hoặc config/version.rb và yêu cầu tập tin này từ config/application.rb

+0

+ Để đi đường dẫn config/version.rb, hãy đặt lại để đặt 'require File.expand_path ('../ version', __FILE __)' vào cuối config/application.rb – Ninjaxor

6

tôi thêm phiên bản riêng của tôi vào lớp cấu hình với một initializer:

app_version.rb

class Configuration 
    class << self 
    attr_accessor :app_version 
    end 
    @app_version = 0.72 
end 

Trong ứng dụng, tôi có thể kéo phiên bản:

@app_version = Configuration.app_version 

Không chắc chắn lý do bạn muốn sử dụng phiên bản, nhưng tôi thường sử dụng phiên bản để tôi có thể xem liệu một phiên bản mã đặc biệt có thực sự đang chạy hay không. Trong trường hợp đó, tôi cần mọi bản sửa đổi mã sẽ được phản ánh như một phiên bản mới, vì vậy tôi sử dụng phiên bản Git trên mã của tôi và thường chỉ hiển thị một vài ký tự đầu tiên của nó vì nó có khả năng đủ để nhận dạng nó.

@git_version = `git show --pretty=%H`[0..39] 
+0

Điều này cực kỳ thú vị. Làm cách nào để gọi từ chế độ xem? Tôi đang thiếu một cái gì đó. – Riccardo

Các vấn đề liên quan