こんにちは、現役沖縄フリーランスエンジニアの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で学んでみる
最後に
下記の表に、
フリーランスエンジニア向けの人気エージェントをまとめてみました。
エージェント選びで悩んでいる方は是非参考にしてみてくださいね★
エージェント | 詳細 | 最高単価/月 | 設立 |
---|---|---|---|
|
評判をチェック | 180万円/月 | 2011年 |
ギークスジョブ
![]() |
評判をチェック
![]() |
180万円/月 | 2011年 |
フォスターフリーランス![]() |
評判をチェック | 230万円/月 | 1996年 |
pe-bank(pebank) | 評判をチェック | 200万円/月 | 1989年 |
Midworks(ミッドワークス) |
評判をチェック | 200万円/月 | 2013年 |
|
評判をチェック | 140万円/月 | 2005年 |
あわせて読みたい