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

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

【ActiveAdmin】formで、belongs_toなmodelのstrong_parameterを指定する

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


【ActiveAdmin】formで、belongs_toなmodelのstrong_parameterを指定する


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


このブログでは、

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

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


今回は、


  • 【ActiveAdmin】formで、belongs_toなmodelのstrong_parameterを指定する


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




【ActiveAdmin】formで、belongs_toなmodelのstrong_parameterを指定する





結論


特に難しいことを考える必要はなく、

permit_paramsに、

親モデルの「名称」と「属性」を指定すればOKです。




例えば、

下記のようなモデルがあるとします。


# 親
class Plan
  attribute :name
  attribute :price
  has_many :contracts
end

# 子
class Contract
  belongs_to :plan
end




この場合、

ActiveAdmin側で下記のようにすればOKです。


# app/admin/contract.rb
ActiveAdmin.register Contract do

  # これを追加
  permit_params plan: [:name, :price]

  # コントローラー的な処理をしたい場合に追加
  controller do
  end
end




ここで注意点。


permit_paramsには、

親モデル名だけではなく、

親モデルの属性まで書いてあげる必要があります。


# OK
permit_params plan: [:name, :price]

# NG
permit_params :plan




自分は最初、

permit_params :plan

と書いていたところ、


unpermitted_parameter :plan


的なメッセージで、

:planだけが拒否されていたので混乱しました...




よくよく考えると当たり前かと思ったのですが、

何故だかしばらくハマってしまいました...




ドキュメントには、

has_manyな子モデルに対する情報は載っていますが、

belongs_toな親モデルに対する記述はありません。


activeadmin.info




また、

permit_paramsを定義すると、

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

permitted_paramsというメソッドが使えるようになります。


permitted_paramsは、

通常のストロングパラメータと同じように、

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

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



【公式】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