Как получить доступ к URL страницы в VoltRb

Я пытаюсь запустить некоторый код на контроллере в Вольт, но только на определенных страницах. Я просмотрел документы, но не совсем уверен, как получить доступ к URL-адресу данной страницы. Есть ли какая-то скрытая переменная или что-то в page модель, как так?

module Main
  class MyController < Volt::ModelController
    model :page

    def index
    end

    def template_page
      if page.url == "/foo/bar" # obviously, this doesn't actually work
        # run some code
      end
    end
  end
end

2 ответа

Решение

Если вы используете привязки в вашем URL, например

client '/examples/{{ category }}/{{ example }}', controller: 'examples', action: 'template'

вы можете получить доступ к ним в контроллере через коллекцию параметров:

params._category
params._example

В других случаях ваш URL должен быть статическим в любом случае.

Извините за задержку с ответом. Я добавил документы для url метод, который доступен от контроллеров:

http://docs.voltframework.com/en/docs/url.html

Другие вопросы по тегам