[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
2022-02-12 12:31:21
質問
足場生成の後、通常このような行が表示されます。
before_action :set_newsletter_email, only: [:show, :edit, :update, :destroy]
どなたか、具体的にどのようにこの
only:
記号はどのように機能するのでしょうか?
解決方法は?
その
only
オプションの
before_action
は、メソッド/ブロックが最初に実行されるときに、1つのアクションまたはアクションのリストを定義します。
例
# defined actions: [:show, :edit, :update, :destroy]
before_action :set_newsletter_email, only: [:show, :edit]
は
set_newsletter_email
メソッドが呼び出されるのは
show
と
edit
アクションを使用します。
反対側のオプション
except
は、メソッドやブロックを実行しないタイミングを定義します。
# defined actions: [:show, :edit, :update, :destroy]
before_action :set_newsletter_email, except: [:show, :edit]
は
set_newsletter_email
メソッドは、既存のすべてのアクションに対して呼び出されます EXCEPT
show
と
edit
.
only
/
except
は、単なるホワイトリスト/ブラックリストの一種です。
関連
-
[解決済み】Rails。Ruby on Railsの移行でデータベースカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] RoRにおけるSpringサーバーの機能とは?
-
[解決済み] Devise Admin Roleの追加【終了しました
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Ruby/RailsでHashからキーを削除して残りのHashを取得する方法は?
-
[解決済み] Postgresがサーバーに接続できない
-
[解決済み] Railsの:includeと:joinsの比較
-
[解決済み] Rails 4: before_filter vs. before_action
-
[解決済み】Railsの認証トークンを理解する
-
[解決済み] Ruby On Railsで前のページにリダイレクトする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み】Webpacker::Manifest::MissingEntryError【クローズド
-
[解決済み] gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] Mac OS Xにhomebrewがインストールされているかどうかを確認する方法
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Rspec が私のモデルクラスを認識しない。初期化されていない定数エラー
-
[解決済み] 属性を割り当てる場合、引数としてハッシュを渡す必要がある
-
[解決済み] ActionController::RoutingError: 初期化されていない定数MicropostsController
-
[解決済み] Railsコンソール:リロード!モデルファイルの変更が反映されない?考えられる理由は何でしょうか?