爲update
以下工作:如何在創建對象時在after_filter中獲取對象ID?
after_filter :only => [:create, :update] do
logger.info params[:id]
end
我怎麼可以參考上create
的ID?
爲update
以下工作:如何在創建對象時在after_filter中獲取對象ID?
after_filter :only => [:create, :update] do
logger.info params[:id]
end
我怎麼可以參考上create
的ID?
你不能。沒有params [:id],因爲你沒有任何這個id的記錄,你只能創建它。
很顯然,創建用例的ID不會在params
。
您必須(在更新&創建方法中)將created.updated記錄存儲在實例變量中,並在後續過濾器中引用該實例變量。
試試這個:
after_filter :only => [:create, :update] do
logger.info params[:id].nil? ? self.id : params[:id]
end
您可以設置PARAMS [:ID在創建行動,如果它成功地保存到對象的ID。
那麼它將存在於after_filter中。
after_filter :only => [:create, :update] do
logger.info (resource && resource.id) || params[:id]
end
這對我有效。