これは完全にはっきりとした初心者の質問ですが、初心者向けのRubyに関するGoogleの質問に対する答えを見つけようとするのは、無駄な試みであることが分かります。とにかくモデルへのRubyカスタムクラス
、私はこのようになり、データベースのテーブルがあるとします。私はの形でのparamsをクエリ文字列を取り込んでURLを公開する必要がある場合は、今すぐ
MyMessage
==================
int :id
string :from
string :to
string :messagetext
を:
クエリ文字列のパラメータをモデルにマップするにはどうすればよいですか?今
、私は、コントローラ内のブルートフォースでそれをやっている:@sender = params[:sender]
@receiver = params[:receiver]
@message = params[:message]
@mymessage = MyMessage.new
@mymessage.from = @sender
@mymessage.to = @receiver
@mymessage.messagetext = @message
@mymessage.save
私の推測では、私はクエリ文字列このタイプのリクエストを表現するクラスを作成することができるはずである、すなわち
class Request
attr_accessor :from
attr_accessor :to
attr_accessor :message
end
その後MyMessage
オブジェクトにRequest
オブジェクトをマップする方法を作成するために、より多くの魔法をparams
からRequest
オブジェクトを作成するために、いくつかのRoRの魔法を使用して。
提案がありますか?これはまったく意味がありますか?
これは「私の-最初のRailsアプリ」チュートリアルのほとんどすべて1で覆われています。あなたはそれをやりましたか? – fig
はい、私はそれらのうちの4つをしました。質問を理解してもよろしいですか?私がこれを逃したチュートリアルを示すリンクを投稿することができれば、私はその質問を喜んで削除します。私はupdate_attributesを通してそれを行うことができると思うが、その理由は「初心者」と書かれている。 – jerhinesmith
はい、サンプルアプリケーションを作成しました。ただし、カスタムクラスを作成して汎用モデルにマッピングすることはできません。あなたはどちらかというと怪我をするつもりはありませんが、Model/DBにはクエリーストリング経由で渡されるものとは異なるフィールド名/プロパティがあることを理解していますか? – jerhinesmith