Использование жидкости в Rails 3 - PullRequest
2 голосов
/ 28 марта 2011

Я создаю блог-движок Rails для учебных целей.Я хочу использовать жидкость в качестве шаблона двигателя.У меня есть что-то вроде этого

    ## posts_controller.rb
    ...
    def index
      @posts = Post.all
    end
   ... 
    ## posts/index.html.liquid
    {% for post in posts do %}
      {{ post.title }}
    {% endfor %}

Это выдает мне следующую ошибку:

undefined local variable or method `template' for
#<PostsController:0x103d16290>

Я уже загрузил LiquidView в initializers / liquid.rb Пожалуйста, дайте мне знать, в чем заключается моя проблема.Спасибо

1 Ответ

5 голосов
/ 28 марта 2011

Как я знаю, у вас должны быть ликвидные методы для атрибутов (в вашем случае для 'title'). попробуйте что-то вроде этого

class Post < ActiveRecord::Base
  liquid_methods :title
end

и посмотри.

Если не попытаться сделать класс Post унаследованным от Liquid :: Drop

как

class Posts < Liquid::Drop

end

** Кстати, так как вы получаете ошибку, утверждая, что отсутствует переменная шаблона, убедитесь, что ваша жидкостная часть рендеринга выглядит следующим образом

(напрямую скопировано из жидкого документа)

@template = Liquid::Template.parse("hi {{name}}")  # Parses and compiles the template
@template.render( 'name' => 'tobi' )               # Renders the output => "hi tobi"

надеюсь, это поможет

ура

Sameera

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