У меня есть код <%= will_paginate %>
в макете моего приложения. Я хотел бы передать этому блоку разные коллекции в зависимости от того, какой контроллер/действие у меня. Как я могу это сделать?Rails - Передача коллекции в макет для will_paginate?
ответ
Ах ... перечитывала ваш вопрос, я вижу, что вы имеете в виду.
Я думаю, что самый простой способ сделать это просто всегда использовать одно и то же имя переменной или установить стандартное имя со значением из вашего запроса на постраничность.
# Controller
@collection = Model.paginate
#OR
@entries = Entry.paginate
@collection = @entries
# View:
<%= will_paginate @collection %>
Вы можете указать коллекцию после метода will_paginate.
В контроллере:
@collection = MyTable.find(:all, :page => params[:page])
На ваш взгляд:
<%= will_paginate @collection %>
Правильно, но есть ли способ передать динамические имена коллекций для will_paginate? Подобно ... render: partial,: locals => {: collection => @dynamic_collection}, затем в макете ... <% = will_paginate @collection%>? – ground5hark
will_paginate не заботится о имени коллекции - это переменная, которая соответствует поведению коллекции will_paginate. –
Я не хотел этого делать, но, я думаю, это нужно сделать. Благодарю. – ground5hark