Rails ActiveAdmin - после создания поста я хочу сделать действие - PullRequest
0 голосов
/ 28 февраля 2012

Я хотел бы знать, как я могу выполнить действие после создания сообщения в ActiveAdmin. Моя идея заключается в том, что после создания сообщения я хочу получить его теги. Я искал по всему интернету и не хватает документации.

Я только что увидел, что могу переопределить действие создания, но теперь я получаю ошибку отсутствующего шаблона, может кто-нибудь опубликовать пример кода для переопределения создания в этой ситуации?

Ответы [ 4 ]

4 голосов
/ 21 ноября 2012

В вашем определении AA:

controller do
    def create
        # Do your stuff
        # You can try one of this:
        # render :action => :show
        # render "path/to/template" , :layout => "active_admin"
    end
end
4 голосов
/ 21 ноября 2012

В вашем посте модель:

after_create :get_tags


def get_tags
  tags = Post.find(:last)
  tags = tags.tag
  # return values
  self.get_tags
end
1 голос
/ 10 сентября 2014

У меня была похожая проблема несколько дней назад, способ, которым я ее решил, был таким:

в вашей модели

after_create :method_name

def method_name
   whatever you need to do
end

Будьте внимательны, если вы собираетесь обновить атрибуты в БД для использования:

model.update_attributes(:attribute_name => new_value)

а не

model.save!

Я провел несколько дней, пока не узнал, что сохранение не работает.

0 голосов
/ 05 июля 2019

Не большой поклонник обратных вызовов модели rails. Я бы рекомендовал в этом случае использовать активные обратные вызовы контроллера администратора.

controller do
  after_create :get_tags

  def get_tags(post)
    post.get_tags
  end
end
...