スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランス5期目となる自身の実体験から、フリーランスエンジニアになるためのノウハウ、ブログや沖縄移住、スリランカの最新情報について発信します。

【ActiveAdmin】デフォルトのcreateとupdateの処理をカスタマイズしたい

※記事内に提携先企業のアフィリエイト広告(リンク、バナー等)、Google広告を含む場合があります


 2020-11-08 【ActiveAdmin】デフォルトのcreateとupdateの処理をカスタマイズしたい


こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。


このブログでは、

僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、

ノウハウなどを書いていきます。


今回は、


  • 【ActiveAdmin】デフォルトのcreateとupdateの処理をカスタマイズしたい


について書いていきます。




【ActiveAdmin】デフォルトのcreateとupdateの処理をカスタマイズしたい



デフォルトのcreateとupdateのままだと、

実現できないことが多々出てきます。


今回はその対応策について説明していきます。




結論


controller do〜endブロックの中で、

createなりupdateメソッドをオーバーライドすればOKです。




オーバーライドする際は、

リダイレクトの処理も書いてあげる必要があります。


ちなみに、

createもupdateも、

デフォルトのリダイレクト先は「showアクションのURL」です。


もしリダイレクトの挙動を変えたくない場合は、

ActiveAdminで生成されるshowのルーティングを指定すればOK。



def create
  # TODO: 代入処理などする

  if user.save!
    redirect_to user_url(user), flash: { notice: '更新しました' }
  end
end




また、

オーバーライドする場合は、

エラーの際の処理も追加してあげないと、

renderなりredirectせず、

画面が切り替わらない(204 no_contentになる)ので注意です。


# 成功したらshowへリダイレクト、失敗したらnewをrender
def create
  # TODO: 代入処理などする

  if user.save!
    redirect_to user_url(user), flash: { notice: '作成しました' }
  end
rescue => e
  Rails.logger.error('#'*50)
  Rails.logger.error(e.inspect) if e
  Rails.logger.error(e.backtrace.join("\n")) if e && e.respond_to?(:backtrace)
  Rails.logger.error('#'*50)

  flash.now[:error] = e.inspect
  render :new
end




RailsやRubyを学びたい人へ


RailsやRubyを学びたい人は、

RailsHack(レイルズハック)という、

最近できた新しいプログラミングスクール(今なら通常価格69,800円が、早期割で29,800円!)か、

Udemy で下記のコースを受講すると良いです★


✅1. フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座

✅2. 【はむ式】ハンズオンで学ぶRuby on Rails 6【Dockerにも触れられる】 <- おすすめ。ハムさんはReactやTypeScriptの教材も非常に丁寧。

✅3. はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう




また、

Udemy は定期的にセールをやっていますし(90%OFFとかもザラ)、

「30日間なら返金できる」ので、

満足できなかった時でも安心です。



【公式】RailsHack(レイルズハック)

【公式】Udemyで学んでみる




最後に


下記の表に、

フリーランスエンジニア向けの人気エージェントをまとめてみました。


エージェント選びで悩んでいる方は是非参考にしてみてくださいね★


エージェント 詳細 最高単価/月 設立
フリエン(furien) 評判をチェック 180万円/月 2011年
ギークスジョブ 評判をチェック 180万円/月 2011年
フォスターフリーランス 評判をチェック 230万円/月 1996年
pe-bank(pebank) 評判をチェック 200万円/月 1989年
Midworks(ミッドワークス) 評判をチェック 200万円/月 2013年
レバテックフリーランス 評判をチェック 140万円/月 2005年




あわせて読みたい


www.malanka.tech


www.malanka.tech


www.malanka.tech


www.malanka.tech