私は、このrailscastに記載されている行に沿って条件付きバリデーションを使用する予定です。railscastでは古いものですが、attr_accessorが使用されます(ビデオの後半部分はスキップしてください)。私はレールプログラミングには比較的新しいので、attr_accessorが何をしているのかを知りたいと思っていました。このpostはそれを使うことを尋ねています。そして、最もアップアップされた答えは、それらがほとんどレールで使われるべきではないと言います。attr_accessorを使用する必要がありますか?
railscastのようにattr_accessorを使用する必要がありますか?あるいは、これらのメソッドは自動的に作成されますか?この場合、attr_accessorを使用する上で危険はありますか?
「attr_accessor」フィールドは、リンクされた回答で指摘されているように、データベース*と直接関係していません。これは、インスタンス変数にゲッター/セッターを作成するための単なるショートカットです。つまり、モデルの他の*トランジェント*ビット(DBによってサポートされていない)です。 (インスタンス変数はRubyのインスタンスの外部からは簡単には設定できません) –
リンクされたポストは、この一時的な性質は通常は永続的ではなく、したがってモデルオブジェクトに属さない。しかし、これは 'attr_accessor'が何をしているのか混乱しているような質問には答えません。 –
リンク先の記事では、@Peterは"データベースの自動アクセサーが作成されています。彼はあなたがデータベースに保存されている属性を作成するときにそれを意味しますか?アクセサーが自動的に作成されますか?私は少し混乱していた。 – John