如何在助手中访问Sinatra的参数?

时间:2012-12-22 07:22:15

标签: ruby sinatra helpers

如何在自定义助手中访问Sinatra的params哈希?

E.g:

# in app/helpers/my_helper.rb
module MyApp
    module MyHelper
        def self.test ()
            params.inspect
        end
    end
end

# in app.rb
helpers MyHelper
test_result = test # undefined method `params' for MyApp:Module

2 个答案:

答案 0 :(得分:2)

帮助者不需要self

module MyApp
    module MyHelper
        def test()
            params.inspect
        end
    end
end

请注意,帮助程序仅在请求上下文中可用(即在处理请求期间):

get '/' do
  test_result = test
  # ...
end

答案 1 :(得分:-4)

params.inspect替换为params[:inspect]。这应该有用。