2016-08-09 48 views
0

我新的軌道,目前參與實習,我被分配到使用friendly_id寶石爲我的比賽類,這是它的部分代碼:軌friendly_id錯誤的請求

class Tournament < ApplicationRecord 
    extend FriendlyId 
    friendly_id :url_id 
    ... 
end 

我不要使用slu since因爲我有一個url_id屬性,它存儲我所需的url,當我嘗試使用舊的.../tournaments/1一切都很好,但.../tournaments/example我得到「示例不是一個有效的id值」與代碼103,狀態400。任何想法可能是什麼問題?

回答

2

您必須更新您的控制器Tournaments,以便它使用friendly.find方法而不是find

# Change this: 
Tournament.find(params[:id]) 

# to 
Tournament.friendly.find(params[:id]) 
+0

的'tournaments_controller.rb'文件是空的 – Robert

+0

好了,看看你的日誌,找到確切的行,其中即'例子不是被上調id'錯誤的有效值,你會發現你的文件。 – Uzbekjon

+0

在2016-08-09 11:48:27 +0300 [1m [36mctiveRecord :: SchemaMigration Load(1.6ms)[0m [1m [34mSELECT「schema_migrations」)獲得了「GET /」/ api/tournaments/example「 * FROM 「schema_migrations」[0米 處理由TournamentsController#展示作爲API_JSON 參數:{ 「ID」=> 「示例」} 完成在7毫秒400錯誤請求(查看:0.3ms的|的ActiveRecord:0.0ms) 我不明白,是否由'tournaments_controller.rb'處理? – Robert