我正在运行一个 Sinatra 应用程序,其中包含一些额外的类,用于创建用户和动态创建的其他一些类(没有数据库,它从 Web 服务提供)。我正在尝试从我的用户模型中发送 Flash 通知(使用 https://github.com/nakajima/rack-flash ),但无法弄清楚如何访问 flash 方法/变量,因为我超出了范围。
类似于:
class User def something if true flash[:notice] = 'Good job' else # nope end end end
通过简单的 require 'models/user'
即可将其引入 Sinatra 应用程序
最佳答案
这是一个 XY 问题[1]。 Sinatra 负责发送 flash 消息,而不是您的 User 对象,因此设置 flash 的代码应该位于您的 Sinatra 应用程序中,而不是您的 User 类中。
关于ruby - 从另一个类访问 Sinatra 作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5543615/