自定义路由重定向到错误的操作

时间:2017-01-04 16:09:32

标签: ruby-on-rails routes

我的路线文件中有以下内容:

  resources :exercises, shallow: true do
    resources :questions do
      resources :test_cases do
        member do
          post :run, to: 'test_cases#run'
        end
      end
    end
  end

  get 'test_cases/test', to: 'test_cases#test'

我的问题在于资源之外的test路由。检查可用路线我有我想要的东西:

test_cases_test GET    /test_cases/test(.:format)                       test_cases#test

但是,如果我从视图中调用test_cases_test_url,我会将其重定向到test_cases#show,而不是test_cases#test它应该如何。 This question在不同的情况下也存在同样的问题。我不想遵循接受的答案,因为如果我将get 'test', to: 'test_cases#test'放在我的resources :test_casesmember块之内,我会在我的路线中找到question_id,并在{{1}内阻止test_case_id。我不需要这些ID。

我可以选择让我想要的路线(member)正常工作吗?

1 个答案:

答案 0 :(得分:1)

我认为你在test_cases#show方法上匹配,因为它与func grabSong() { let SongQuery = PFQuery(className: "Songs") SongQuery.getObjectInBackground(withId:iDArray[SelectedSongNumber!] ,block: { (object : PFObject?, error : Error?) -> Void in if let AudioFileURLTemp : PFFile = object?.value(forKey: "SongFile") as? PFFile { print(AudioFileURLTemp) audioP = AVPlayer(url: NSURL(string: AudioFileURLTemp.url!) as! URL) audioP.play() } }) } 网址具有相同的模式,而且之前就是这样。只需将audioP = AVPlayer(url: NSURL(string: AudioFileURLTemp.url!) as! URL) 获取路线移至路线文件顶部

即可
test_cases/test

另一种方式,我建议

test_cases/test