Tôi có một ứng dụng Sinatra rằng, luộc xuống, trông cơ bản như thế này:Làm thế nào để xác định một phương thức được gọi từ khối cấu hình của ứng dụng sinatra kiểu mô-đun?
class MyApp < Sinatra::Base
configure :production do
myConfigVar = read_config_file()
end
configure :development do
myConfigVar = read_config_file()
end
def read_config_file()
# interpret a config file
end
end
Thật không may, điều này không làm việc. Tôi nhận được undefined method read_config_file for MyApp:Class (NoMethodError)
Logic trong read_config_file
là không tầm thường, vì vậy tôi không muốn sao chép cả hai. Làm thế nào tôi có thể xác định một phương thức có thể được gọi từ cả hai khối cấu hình của tôi? Hay tôi chỉ đang tiếp cận vấn đề này theo cách hoàn toàn sai lầm?
Rực rỡ! Điều đó hoạt động. Bây giờ tôi phải đọc một cuốn sách ruby để tìm ra sự khác biệt địa ngục nằm giữa 'def methodname' và' def self.methodname', là cú pháp mới với tôi. – Seldo