我有一個單例資源,需要#show上的外鍵。因此,我需要通過URL http://example.com/product/dash?uid=abcd
訪問它,其中的用戶abcd
屬於外部資源。Rails - 在控制器參數中需要外鍵
下面是我對類:
class SingletonController < ApplicationController
# this method requires a valid uid param
def show
params.require(:uid)
@user = User.find_by :id => params[:uid]
end
end
我試圖找到使用params.require從動作控制器的例子,但唯一的例子,我發現驗證的更新帕拉姆值,類似於@user.update_attributes!(user_attributes)
,其中user_attributes是調用params.require並驗證用戶對象實際存在的方法。我找不到一個在show
方法中做到這一點的好方法。
什麼是Rails 4.0中檢查外部對象是否存在並拋出異常的最好方法?
我不確定你在問什麼。你只需要一些會拋出異常的東西? '''User.find(params [:uid])'''如果對象不存在就會拋出異常。 – jcm
我使用的外鍵不是外部對象的主鍵,所以我實際上在執行'User.find_by:key => params [:key]',並且不會引發異常。我上面的示例過於簡化。 –
我只是想弄清楚這樣做的最好方法,並遵循Rails模型。很多時候我會寫一些半自定義的代碼來發現Rails中已經有了一個方法來完成我想要做的事情。 –