контроллер создает массив, содержащий имена партиалов для рендеринга.
parts = ["part_a", "part_d", "part_q"]
вместо рендеринга по одному в каждом, я хочу рендерить коллекцию.поэтому я сопоставляю детали новому объекту:
parts.map! { |part| PartObject.new(part) }
PartObject выглядит как
class PartObject
def initialize(part)
@part = part
end
def to_partial_path
@part
end
end
, теперь я могу отобразить (в хамле)
= render(parts, word: word)
, который работает. проблема в том, что я хочу передать несколько переменных .
= render(parts, word: word, name: name)
возвращает: "неопределенный метод` [] '
Я пытался:
= render(parts, locals: {word: word, name: name})
это работает, вроде как. оно дает частичному хешу "localals", а не то, что я хочу. ясно, я бы также предпочел не использовать переменные экземпляра.будьте благодарны, если я все еще могу отобразить изменяющуюся коллекцию частичек вместо одной за раз и передать необходимые переменные.1028 * Надеюсь, это было немного ясно, и заранее спасибо за любую помощь.