1. ホーム
  2. ruby-on-rails

モデルとは関係のない、simple_form のフィールドをレイルする

2023-10-15 11:35:57

質問

注文」という名前のモデルに結びついた既存のフォームがありますが、サードパーティの決済ゲートウェイで処理するために、名前、cc番号などのクレジットカード情報を取得する新しいフォームフィールドを追加したいのです。

しかし、私は私たちのデータベースにCC情報を保存したくないので、私の注文テーブルにはその対応する列がありません。また、フォームを送信する際に、これらのクレジットカード入力フィールドは注文モデルの「一部」ではないというエラーが発生します。

どのように解決するのですか?

attr_accessorを使用することができます。

 class Order < ActiveRecord::Base

   attr_accessor :card_number


 end

これで Order.first.card_number = '54421542122' を使ったり、フォームで使ったり、必要なことは何でもできます。

rubyのドキュメントはこちら http://www.ruby-doc.org/core-1.9.3/Module.html#method-i-attr_accessor また、stackoverflow の有用な質問については、こちらを参照してください。 Rubyのattr_accessorとは何ですか?

attr_accessibleとごっちゃにしないように! attr_accessorとattr_accessibleの違い