10

Trên máy tính phát triển của tôi:Rails giao diện điều khiển môi trường mặc định

$ bundle exec rails console 
Loading development environment (Rails 3.2.3) 
1.9.3p194 :001 > Rails.env 
=> "development" 

này được mong đợi. Càng xa càng tốt.

Tuy nhiên, trên máy chủ sản xuất của tôi (mà tôi đã triển khai sử dụng Capistrano), tôi nhận được chính xác kết quả tương tự:

$ bundle exec rails console 
Loading development environment (Rails 3.2.3) 
1.9.3p194 :001 > Rails.env 
=> "development" 

Ở hai máy, tôi thay vì có thể làm:

$ bundle exec rails console production 
Loading development environment (Rails 3.2.3) 
1.9.3p194 :001 > Rails.env 
=> "production" 

My câu hỏi là: trên máy chủ sản xuất, không nên bundle exec rails console tải môi trường sản xuất theo mặc định, thay vì môi trường phát triển? Và nếu không, tại sao không?

+1

Đó là hành vi bình thường. Ứng dụng của bạn không biết vị trí của sản phẩm hoặc trên máy chủ cục bộ của bạn. Đó là tất cả :) – alexkv

+0

Cảm ơn. Điều đó chỉ để tôi tự hỏi * tại sao * đó là hành vi bình thường; nhưng tôi nghĩ tôi có thể đoán được. – sampablokuper

+0

Cảm ơn. Điều này trả lời câu hỏi của tôi về cách chạy giao diện điều khiển đường ray như sản xuất. Nó không theo cùng một mô hình như máy chủ rails -e sản xuất. – erroric

Trả lời

16

Đường ray thực thi không thể biết môi trường nào sẽ chạy trên máy nào.

bạn có thể đặt export RAILS_ENV=production trong tệp ~/.bashrc hoặc ~/.bash_profile của người dùng mà bạn muốn bắt đầu bảng điều khiển.

5

RAILS_ENV là một biến giống như bất kỳ khác mà sẽ luôn luôn mặc định để phát triển

nếu bạn muốn bạn luôn có thể mở ra '~/.bash_profile' trên máy chủ sản xuất và thêm này:

alias sc="bundle exec rails console production" 

sau đó chạy source ~/.bash_profile để tải lại tệp đó cho phiên đầu cuối của bạn và bạn chỉ có thể gọi sc để tải lên bảng điều khiển.

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