Как получить идентификатор объекта в after_filter при создании объекта? - PullRequest
0 голосов
/ 23 декабря 2011

Следующее работает для update:

after_filter :only => [:create, :update] do
    logger.info params[:id]
end

Как я могу ссылаться на идентификатор на create?

Ответы [ 5 ]

1 голос
/ 17 июня 2015
after_filter :only => [:create, :update] do
 logger.info (resource && resource.id) || params[:id]
end

Это сработало для меня.

1 голос
/ 26 декабря 2011

Попробуйте это:

after_filter :only => [:create, :update] do
    logger.info params[:id].nil? ? self.id : params[:id]
end
0 голосов
/ 28 марта 2013

Вы можете установить params [: id] в действии создания для идентификатора объекта, если он был успешно сохранен.

тогда он будет существовать в after_filter.

0 голосов
/ 23 декабря 2011

Очевидно, что идентификатор не будет в params для создания дела.

Вы должны (в методах update и create) сохранить запись create.updated в переменной экземпляра и ссылаться на эту переменную экземпляра в своем фильтре после.

0 голосов
/ 23 декабря 2011

Вы не можете.Там нет params [: id], потому что у вас нет записи этого идентификатора, вы только создаете ее.

...