Частичный счетчик Rails 5.2: ошибка «неопределенная локальная переменная или метод» - PullRequest
0 голосов
/ 12 октября 2018

В информационном окне на https://guides.rubyonrails.org/layouts_and_rendering.html#using-partials:

Rails также делает переменную счетчика доступной в части, вызываемой коллекцией, с именем, соответствующим названию части, за которой следует _counter.Например, при рендеринге коллекции @products частичный _product.html.erb может получить доступ к переменной product_counter , которая индексирует количество раз, которое она была визуализирована в пределах вмещающего представления.

Тем не менее, я получаю и ошибку при обращении к счетчику в моей части.Вот родительское представление:

<%= render partial: 'comments/comment_template', collection: @post.comments, as: :c %>

Вот соответствующая часть _comment_template.html.erb :

<%= comment_template_counter %>

А вот ошибка:

undefined local variable or method `comment_template_counter' for #<#<Class: [etc.]

Чего мне не хватает?

1 Ответ

0 голосов
/ 12 октября 2018

Я считаю, что документация неверна.Как указано pedroadame в https://coderwall.com/p/t0no0g/render-partial-with-collection-has-hidden-index, при использовании опции : as , мне нужно использовать имя переменной вместо имени частичное .

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

Так что в моем частичном, это теперь работает:

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