rails 3 ошибка перенаправления маршрута:id => "имя-маршрутизатора"
Поэтому я пытаюсь получить ссылку, чтобы найти метод в моем контроллере, а затем перенаправить на пользовательскую страницу с путем /trials/my_plays
Я получаю сообщение об ошибке: "Не удалось найти Trail с id=my_plays" в "app/controllers/trails_controller.rb:48: в`show'"
маршрут:
match '/trails/my_plays', :to => "trails#my_plays", :as => :my_plays
ссылка на сайт:
<%= link_to "Your Trails", trails_my_plays_path %>
контроллер:
def show
@trail = Trail.find(params[:id]) #48
@member = Member.find(current_user.member_id)
respond_to do |format|
format.html # show.html.erb
format.json { render :json => @trail }
end
end
def my_plays
@trails = Trail.all # once status is working, need to change to where(:publish => true)
@follower = Play.where(:member_id => current_user.member_id)
@member = Member.find(current_user.member_id)
@followed = [] #all trails followed by current user
@follows = [] #the play record for that trail
@trails.each do |trail|
if @follower.count > 0
@follower.each do |followr|
if (followr.trail_id == trail.id)
@followed << trail
@follows << followr
end
end
end
end
respond_to do |format|
format.html { redirect_to "trails/my_plays" }
end
end
1 ответ
Ваш match
маршрут заменяется /trails
маршрутизация, которая устанавливает id
параметр.
Маршрутизация ресурсов для trails
(или другой соответствующий маршрут, например :controller/:id
) должен следовать за вашим сопоставителем маршрутов, иначе маршрутизация не пройдет после первого сопоставления маршрутов.