Жидкий плагин - PullRequest
       18

Жидкий плагин

3 голосов
/ 19 июня 2009

Я использую жидкий плагин в своем приложении. При использовании вспомогательных методов rails, таких как form_for, check_box_tag я получаю сообщение об ошибке form_for не определено ..

Кто-нибудь знает, как использовать вспомогательные методы рельсов через жидкий плагин?

Ответы [ 4 ]

5 голосов
/ 19 июня 2009

Я только что имел дело с этим не так давно - если вы хотите лучше понять, что нужно для расширения обычных фильтров (включая вспомогательные методы, которые вы можете захотеть), я нашел этот Railscast очень полезным: http://railscasts.com/episodes/118-liquid

По сути, вам нужно настроить свой собственный файл фильтра и включить вспомогательные модули, которые вы хотите использовать, а затем добавить метод (фильтр), который использует этот помощник. Это не сложно, просто требуется секунда для настройки. В примере Райана он настраивает модуль в lib под названием LiquidFilters, включает в себя требуемый помощник по числам и настраивает его на использование фильтра валют следующим образом:

# lib/liquid_filters.rb
module LiquidFilters
  include ActionView::Helpers::NumberHelper

  def currency(price)
    number_to_currency(price)
  end
end

Тогда все, что вам нужно сделать, это помнить, когда вы анализируете жидкое содержимое, чтобы добавить: filters => [LiquidFilters] (принимает массив модулей фильтров, которые вы хотите использовать), и оно должно автоматически поднять его. Этот метод также гарантирует, что если вы хотите установить дополнительные пользовательские фильтры или изменить вспомогательные фильтры, у вас есть простое и интуитивно понятное место для этого.

1 голос
/ 04 октября 2011

Вы можете использовать непосредственно html-код, например, вместо использования link_to (не работает!), Внутри жидкого шаблона вы можете написать html-код с жидкими тегами:

<a href="{link}">{{link_name}}</a>" 
1 голос
/ 19 июня 2009

Кто-нибудь знает, как использовать вспомогательные методы рельсов через жидкий плагин?

У жидкости есть свои помощники, называемые фильтрами. Смотри https://github.com/Shopify/liquid/wiki/Liquid-for-Designers.

Вы можете либо принять решение о применении помощника перед передачей значения в жидкость, либо продлить жидкость, регистрируя свои собственные фильтры (см. https://github.com/Shopify/liquid/wiki/Liquid-for-Programmers).

Если вы зарегистрируете в качестве обработчика шаблона Rails жидкость, Liquid попытается использовать ваши помощники в качестве фильтров.

Однако вам нужно использовать синтаксис Liquid.

{{ 'This is a long section of text' | truncate: 3 }}

Не

{{ truncate('This is a long section of text', 3) }}
0 голосов
/ 19 июня 2009

Взгляните на этот проект для жидкости под названием "Сгустки". Это якобы решает эту проблему (я лично не использовал его).

http://github.com/ludicast/clots/tree/master

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...