OOZOU
お問い合わせ
TIL一覧に戻る
ruby on rails

Punditポリシーで許可パラメータをデフォルトとアクション別に管理する

2022年2月10日

許可パラメータを管理するには、ポリシーに permitted_attributes と permitted_attributes_for_#{action} を追加します。例:

class CommentPolicy < ApplicationPolicy
  def permitted_attributes
    %i[body]
  end

  def permitted_attributes_for_create
    %i[body application_id]
  end
end

そしてコントローラーでは次のようにします

class CommentController
  def create
    @comment = Comment.create(comment_attributes) # { body: 'body', application_id: 1 }
  end
 
  def update
    @comment = Comment.find(params[:id])
    @comment.update(comment_attributes) # { body: 'new body' }
  end
 
  private def comment_attributes
    permitted_attributes(Comment)
  end
end

「ruby on rails」の関連記事

ruby on rails2022年1月31日

Turboでのフォーム送信には `requestSubmit` を使う

Turboはformのsubmitイベントをリッスンします。そのため、JSでフォームを送信するときは必ず requestSubmit を使いましょう。

ruby on rails2022年1月19日

GitHub Actions で Rubocop と ESLint にバンドルされた gem を無視させる

Rails プロジェクトでは、GitHub Actions で gem を vendor ディレクトリにインストールして、以降の実行でキャッシュできるようにすることがよくあります。

ruby on rails2021年4月18日

Rails 6、Ruby 3、Bootstrap 5 と Hotwire

Bootrails のブログ記事を Hotwire で拡張します: この TIL を書いている時点での最新のあれこれ:

プロジェクトをお考えですか?

あなたが構築しているものについてお聞かせください。

会話を始めるhello@oozou.com
OOZOU Logo

バンコク · シンガポール · 香港

X
Facebook
Instagram
LinkedIn

サービス

  • Web開発
  • AIエージェント & 生成AI
  • モバイルアプリ開発
  • データ分析 & エンジニアリング
  • UI/UX & プロダクトデザイン
  • デジタルトランスフォーメーション

会社情報

  • 会社概要
  • 採用情報
  • ブログ
  • 事例研究
  • Today I Learned
  • お問い合わせ

その他

  • 業界
  • パートナーネットワーク
© 2026 OOZOU. 無断転載を禁じます。
プライバシーポリシー行動規範ABACポリシー