Ruby on Rails

Rails フォーム

form_with、model forms、form_for legacy、strong parameters、nested attributes、file uploads

20 面接問題·
Mid-Level
1

Rails 5.1+ でフォームを作成するために推奨されるフォームヘルパーは何ですか?

回答

form_with は Rails 5.1 で導入された統合ヘルパーで、form_for と form_tag を置き換えます。デフォルトで remote: true(AJAX リクエスト)のフォームを生成し、モデルオブジェクトが渡されたかどうかを自動的に検出することで構文を簡素化します。この統合により、2つの古いヘルパー間の混乱が減り、より一貫した API が提供されます。

2

form_with model: @user と form_with url: users_path の違いは何ですか?

回答

model: @user では、Rails はオブジェクトの状態(new_record? または persisted?)に基づいて URL と HTTP メソッドを自動的に決定します。新しいレコードの場合は users_path への POST、既存のレコードの場合は user_path(@user) への PATCH を使用します。url: users_path では、URL と適切な HTTP メソッドを手動で指定する必要があります。

3

form_with のデフォルトの AJAX 送信を無効にして、従来の HTML 送信を行うにはどうすればよいですか?

回答

デフォルトでは、form_with は data-remote='true' を持つフォームを生成し、AJAX リクエストを送信します。ページのリロードを伴う従来の HTML 送信を行うには、local: true を追加する必要があります。Rails 6.1 以降では、config.action_view.form_with_generates_remote_forms を介してデフォルトの動作をグローバルに設定できます。

4

Rails フォームの文脈における strong parameters の役割は何ですか?

5

title と content を持つ Article モデル用の strong parameters メソッドを正しく定義するにはどうすればよいですか?

+17 面接問題

次の面接に向けてRuby on Railsをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める