Sinatra - 块之前的URL参数?

时间:2011-10-25 23:42:51

标签: sinatra block params

我有类似的东西

get '/news/:news_slug/' do
  ...
end

我尝试做的是访问news_slug块中的before,无论如何都要这样做吗?

1 个答案:

答案 0 :(得分:2)

我自己尝试做过这样的事情,我要做的就是使用before块,如下所示:

before '/news/:news_slug' do
  # Before news code
end

但是,如果你想在其他的东西中使用before块,那么你必须做我做过的事情,如:

def news_before
  # Before news code
end

["/url_one", "/url_two", "/news/:news_slug"].each do |path|
  before path do
    if params[:news_slug]
      news_before
    end
  end
end

希望这会对你有所帮助。