Than ôi, nếu, như tôi, bạn đang xây dựng một ứng dụng mô-đun Sinatra, nó phức tạp hơn một chút so với chỉ đơn giản là di chuyển helpers
ra vào tập tin khác.
Cách duy nhất tôi làm việc này là như sau.
đầu tiên trong ứng dụng của bạn (tôi sẽ gọi đây là my_modular_app.rb
)
require 'sinatra/base'
require 'sinatra/some_helpers'
class MyModularApp < Sinatra::Base
helpers Sinatra::SomeHelpers
...
end
và sau đó tạo cấu trúc thư mục ./lib/sinatra/
và tạo some_helpers.rb
như sau:
require 'sinatra/base'
module Sinatra
module SomeHelpers
def help_me_world
logger.debug "hello from a helper"
end
end
helpers SomeHelpers
end
làm điều này bạn chỉ có thể chia tất cả những người trợ giúp của bạn được chia thành nhiều tệp, tạo ra sự rõ ràng hơn trong các dự án lớn hơn.
Nguồn
2011-10-04 02:14:06
lol, đơn giản :) tại sao tôi không cố gắng ở nơi đầu tiên :) cảm ơn bạn, tôi đã sử dụng giống như 'require '# {File.dirname (__ FILE __)}/helpers/helpers.rb" ' – equivalent8
Khi bạn sử dụng Ruby 1.9 .2 bạn có thể sử dụng 'help_relative 'helpers/helpers'' thay vì' File'-construct – daddz
lợi thế là gì? ... và tôi muốn dự án này chạy trên tất cả các máy, sẽ được trên github để chia sẻ :) – equivalent8