следующие работы в течение update
:Как получить идентификатор объекта в after_filter во время создания объекта?
after_filter :only => [:create, :update] do
logger.info params[:id]
end
Как я могу ссылаться на идентификатор на create
?
следующие работы в течение update
:Как получить идентификатор объекта в after_filter во время создания объекта?
after_filter :only => [:create, :update] do
logger.info params[:id]
end
Как я могу ссылаться на идентификатор на create
?
Вы не можете. Нет параметров [: id], потому что у вас нет записи этого идентификатора, вы только создаете его.
Очевидно, что идентификатор не будет находиться в params
для случая создания.
Вам нужно будет (в обновлении & создавать методы) закрепить созданную запись в переменной экземпляра и обратиться к этой переменной экземпляра в вашем после фильтра.
Попробуйте это:
after_filter :only => [:create, :update] do
logger.info params[:id].nil? ? self.id : params[:id]
end
вы можете установить Params [: ID] в создании действия для объекта идентификатор, если он был успешно сохранен.
тогда он будет существовать в after_filter.
after_filter :only => [:create, :update] do
logger.info (resource && resource.id) || params[:id]
end
Это сработало для меня.