【发布时间】:2020-04-14 14:56:27
【问题描述】:
我正在尝试用 Rails 风格编写 Sinatra:
#in app.rb
get '/' do
# params request and response are accessible here
SomeController.new.some_method
end
我无法在控制器中访问params、request 或response:
class SomeController < Sinatra::Base
def some_method
#params are nil here
end
end
我可以通过作为参数从app.rb 传递来做到这一点,但我希望它表现得像 Rails。
【问题讨论】:
-
您的
app.rb是否在定义SomeController的文件上执行require? -
是的
app.rb有一个require SomeControler控制去控制器,但参数是nil那里 -
在 Rails 中
params在ActionController中定义。您是否有一个 Rails 示例,您可以从控制器外部访问您的params? -
没有未定义外部控制器参数,但在这种情况下,我的控制器也继承自
Sinatra::Base,就像app.rb中的get方法一样