ответ

0

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

0

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

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

1

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

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

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

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

1
after_filter :only => [:create, :update] do 
logger.info (resource && resource.id) || params[:id] 
end 

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

Смежные вопросы