2012-08-22 58 views
0

所以我想有一个链接查找的方法在我的控制器,然后重定向到一个自定义页面的路径/试验/ my_plays轨道3路由重定向错误:ID =>“routename”

我米收到错误: 在 “无法使用id = my_plays找到径”, “:48:应用程序/控制器/ trails_controller.rb在`节目”“

路线:

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 
+0

那么行数48是什么? – melekes

+0

回应@antonk您需要发布演出活动的代码。错误似乎来自重定向到“trails/my_plays”:'format.html {redirect_to“trails/my_plays”} –

回答

0

match你路由正被/trails路由,用于设置参数id取代。

trails(或其它匹配的路由,像:controller/:id)的资源路由需要经过路线匹配来,否则路由不会得到过去的第一路由匹配。

+0

我把它移开了,当我在rails服务器上查看页面时,出现错误:No收到的数据 由于服务器未发送数据,无法加载网页。 以下是一些建议: 稍后重新加载此网页。 – HappaGirl

+0

嗯,现在它已经搞乱了我的路径索引页面,它正在寻找my_plays方法。可能是因为新的路线正在取代索引资源。 – HappaGirl

+0

好吧,我明白了。我将资源移动回来后,将路由改为/ my_plays而不是/ trails/my_plays,然后在控制器方法中删除了重定向。 – HappaGirl