Как я могу получить переменные экземпляра, определенные в файле, необходимом в обработчике маршрута в контекст в контексте шаблона? - PullRequest
0 голосов
/ 26 октября 2011

В основном у меня есть файл, foo.rb В этом файле я определяю @bar.Тогда в моем app.rb у меня есть что-то вроде

get '/' do
  load 'foo.rb'
  haml :index
end

, а в index.haml я пытаюсь использовать @bar, но @bar равно nil .= (

Есть ли способ сделать это? По сути, я хотел бы разбить код на отдельные файлы и загрузить их в каждый обработчик маршрута.

1 Ответ

0 голосов
/ 26 октября 2011

Я думаю, вы можете использовать «помощников», которые дают вам отличный способ отделить вашу бизнес-логику. В вашем случае это будет выглядеть так:

**** foo.rb ****
helpers do
  def bar
    "Hello, world!"
  end
end

**** app.rb ****
require 'sinatra'
require 'path/to/your/foo.rb'

get '/' do
  bar
end

Этот фрагмент будет отображен как HTML-страница со строкой «Hello, world».

...