开发者

haml syntax - better way of writing this?

开发者 https://www.devze.com 2022-12-11 19:41 出处:网络
I have a config file full of this.... - if current_page.include? \"test_string_one\" - @total_index = 3

I have a config file full of this....

   - 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
      开发者_StackOverflow社区- @next_location = '../another_random_string/page0.html'
      - @next_name = 'title 3'

Is there a cleaner way of writing this? Using Staticmatic.

I see there are filters available in haml. Should all this be in :ruby filter?


This code would be best in a helper.

it might look like this:

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

Then, in each page you need it, you could access the options like this: page_options[:total_index]

0

精彩评论

暂无评论...
验证码 换一张
取 消