我的主要Sinatra project_name.rb中有很多帮助器,我想将它们移到外部文件中,这样做的最佳做法是什么?
来自./preject_name.rb
helpers do
...#bunch of helpers
end
Run Code Online (Sandbox Code Playgroud)
例如./helpers/something.rb
谢谢
kgp*_*per 29
简单和推荐的方式:
module ApplicationHelper
# methods
end
class Main < Sinatra::Base
helpers ApplicationHelper
end
Run Code Online (Sandbox Code Playgroud)
Dav*_*Sag 14
唉,如果像我一样,你正在构建一个模块化的 Sinatra应用程序,它比简单地移动helpers到另一个文件要复杂一点.
我让它工作的唯一方法如下.
首先在你的应用程序中(我会称之为my_modular_app.rb)
require 'sinatra/base'
require 'sinatra/some_helpers'
class MyModularApp < Sinatra::Base
helpers Sinatra::SomeHelpers
...
end
Run Code Online (Sandbox Code Playgroud)
然后创建文件夹结构./lib/sinatra/并创建some_helpers.rb如下:
require 'sinatra/base'
module Sinatra
module SomeHelpers
def help_me_world
logger.debug "hello from a helper"
end
end
helpers SomeHelpers
end
Run Code Online (Sandbox Code Playgroud)
这样做可以简单地将所有帮助程序拆分为多个文件,从而在更大的项目中更加清晰.
正如你自己说的那样:
将helpers块移动到另一个文件中并将require其移动到您需要的位置.
#helpers.rb
helpers do
...
end
#project_name.rb
require 'path/to/helpers.rb'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8977 次 |
| 最近记录: |