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

IT実務未経験から約1年、東京でフリーランスのRuby on Railsエンジニアに転職。約2年半、大阪中崎町でスリランカカレーの間借りしてました。フリーランスエンジニアになるためのノウハウ、スリランカの事を発信していきます。

【ActiveAdmin】レコードが無い場合の、まだありません。「作成する」を非表示に【blank_slate content link】


【ActiveAdmin】レコードが無い場合の、まだありません。「作成する」を非表示に【blank_slate content link】




今すぐ登録したい方へ


このブログから登録の多いエージェントは下記の3つです★

(リンクをクリックすると公式サイトに飛びます)

【ダントツの1位】フォスターフリーランス【案件保有数5000件以上。業界25年の超老舗】

【僅差で2位】エミリーエンジニア【4人に1人が初めてのフリーランス】

【惜しくも3位】レバテックフリーランス【業界最大手。素早く手厚いフォローで案件参画】




こんにちは、mahです。


このブログでは、

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

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


今回は、


  • 【ActiveAdmin】レコードが無い場合の、まだありません。「作成する」を非表示に【blank_slate content link】


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




ActiveAdminで、

1件もレコードが無い状態のまま、

indexのページを表示すると、


"%{resource_name} はまだありません。「作成する」


というようなメッセージが表示されます。




この、

「作成する」がリンクになっているので、

非表示にしようと思ったのですが、

ActiveAdminのデフォルトの機能には無い様子...




色々調べていると、

一応解決策が見つかったのと、

今後もたまに使うかと思ったので備忘録にしておきます。








解決策


ActiveAdmin::Views::Pages::Indexというクラスにある、

render_blank_slate というメソッドにモンキーパッチを当てます。


  • render_blank_slate

www.rubydoc.info


  • ja.ymlのキー (blank_slate、content、link)

github.com




やり方


1、

initializerで、モンキーパッチを実装するファイルを読み込む。


クックパッドさんの記事を参考にしました。


techlife.cookpad.com




lib/monkey_patches/active_admin というディレクトリを作ります。


他への影響を抑えるため、

initializer内で読み込むディレクトリも最小限にします。


# config/initializer/active_admin_monkey_patches.rb
Dir[Rails.root.join('lib/monkey_patches/active_admin/**/*.rb')].sort.each do |file|
  require file
end








2、

1で指定したところにモンキーパッチを実装。


例えば、

monkey_patches/active_admin/index_monkey_patch.rb のようなファイルを作ります。




今回は、

ActiveAdmin::Views::Pages::Indexというクラスにある、

render_blank_slate というメソッドにモンキーパッチを当てるため、

下記のようにします。


# monkey_patches/lib/active_admin/views/pages/index_monkey_patch.rb

require 'active_admin/helpers/collection'

module ActiveAdmin
  module Views
    module Pages
      class Index
        protected
        def render_blank_slate
          blank_slate_content = I18n.t("active_admin.blank_slate.content", resource_name: active_admin_config.plural_resource_label)
          insert_tag(view_factory.blank_slate, blank_slate_content)
        end
      end
    end
  end
end




ソースは下記を参考にしました。

waiyanyoon.com








3、

サーバー再起動。








4、

これで、

"%{resource_name} はまだありません。「作成する」

「作成する」が消えているはずです!




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日間なら返金できる」ので、

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


f:id:mah666hhh:20201129193352p:plain


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

【公式】Udemyで学んでみる




最後に


下記の表に、

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


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





あわせて読みたい


www.malanka.tech


www.malanka.tech


www.malanka.tech


www.malanka.tech




最後までお読み頂きありがとうございました★

もしよかったらTwiiterのフォローもお願いします★