haml语法 - 更好的写作方式?

时间:2009-11-16 18:01:39

标签: ruby haml staticmatic

我有一个完整的配置文件....

   - 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 个答案:

答案 0 :(得分:1)

此代码最适合帮助。

它可能看起来像这样:

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]