Синтаксис HAML - лучший способ написать это? - PullRequest
0 голосов
/ 16 ноября 2009

У меня есть полный конфигурационный файл ....

   - if current_page.include? "test_string_one"
      - @total_index = 3
      - @next_location = '../random_string/page0.html'
      - @next_name = 'title 2'

    - if current_page.include? "test_string_two"
      - @total_index = 10
      - @next_location = '../another_random_string/page0.html'
      - @next_name = 'title 3'

Есть ли более чистый способ написать это? Использование Staticmatic .

Я вижу, что в haml доступны фильтры. Должно ли все это быть в :ruby фильтре?

1 Ответ

1 голос
/ 16 ноября 2009

Этот код будет лучшим помощником.

это может выглядеть так:

module SomeHelper

  def page_options
    @page_options ||= begin
      options = {}

      if current_page.include? "test_string_one"
         options[:total_index] = 3
         options[:next_location] = '../random_string/page0.html'
         options[:next_name] = 'title 2'
      elsif current_page.include? "test_string_two"
         options[:total_index] = 10
         options[:next_location] = '../another_random_string/page0.html'
         options[:next_name] = 'title 3'
      end

      options
    end

  end

end

Затем на каждой странице, которая вам нужна, вы можете получить доступ к таким параметрам: page_options[:total_index]

...