Kaminari неправильный адрес в представлении

Я нашел похожие вопросы о Каминари, однако ни один из ответов не сработал на моей машине.

По сути, когда я разбиваю страницы, количество страниц правильное, но URL-адрес, на который я перенаправляюсь, неверен. Это ниже действие в моем контроллере

def index_offered

  @machines = Machine.not_sponsored.offered.order("created_at DESC").page(params[:page]).per(5)

end

Теперь, когда я реализую Kaminari в представлении

<%= paginate @machines%>

Я получаю 3 страницы (правильно) пагинации, ссылки:

0.0.0.0:3000/?page=2
0.0.0.0:3000/?page=3

Пока они должны быть

0.0.0.0:3000/offered-machinery?page=2
0.0.0.0:3000/offered-machinery?page=3

Может ли улов быть вложен в маршрутизацию? Вот маршрут, который касается действия index_offered.

  match 'offered-machinery' => 'machines#index_offered', :as => :offered_machinery

Я также пытался передать параметры в представлении, набрав

<%= paginate @machines , :params => {:controller => "Machines" , :action => 'index_offered'}%>

и раскомментировал строку в route.rb:

   match ':controller(/:action(/:id))(.:format)'

но в этом случае вместо этого я получаю эти URL-адреса:

0.0.0.0:3000/Machines/offered-machinery?page=2
0.0.0.0:3000/Machines/offered-machinery?page=3

Как я мог обойти это?


person e4r    schedule 19.07.2013    source источник


Ответы (1)


Попробуйте изменить имя контроллера на «машины»:

{:controller => "machines" , :action => 'index_offered'}%>
person user2852869    schedule 06.10.2013