1

RoR のフォームについて少し混乱しています。

コントローラーに対応するメソッドを含む連絡先ページがあります。私がやろうとしているのは、人々がメッセージを残すことができるフォームを持つことです。次に、そのメッセージを自分自身に電子メールで送信します。

フォームとすべてが作成されました。ただし、送信ボタンを押すと、実際にフォームからデータを取得する方法について少し混乱しています。を使用して、コントローラーの連絡先メソッドからアクセスできますparams[:message]か?

また、1 ページに複数のフォームがある場合はどうなりますか? コントローラーの連絡先メソッドで、、、などparams[:message1]を実行するだけですか?params[:message2]

4

1 に答える 1

1

params ハッシュの詳細については、この回答をご覧ください。params[:message] を参照する場合、これはコントローラー アクションに "message[subject]=abc123" などと POST していることを意味します。Rails はこれを次のようなキーを持つハッシュに変換します: params[:message ]['主題']。

電子メールの送信を検討している場合は、mail_formを確認してください。これにより、電子メールに変換される非データベース支援モデルの作成が簡素化されます。

最後に、1 つのページに複数のフォームがあることについて: 各フォームはそのアクションに対して POST し、そのフォームの子であるすべてのフォーム要素を DOM に含めます。そのため、そのメッセージの子のみが実際に params[:message] ハッシュに含まれます。fields_forを使用して、1 つのフォーム内に複数のモデルを含めることができます。

于 2012-07-02T01:42:52.613 に答える