多くの点で、私はまだこのレール関連の初心者だと思います。支払い用の ActiveRecord モデルがあります。ただし、テーブルに追加されるのは 2 つだけで、authorize.net から肯定的な応答が返ってきたら、それらは完了します。このモデルのコントローラーには、カート フォームがあります。カート フォーム内には、@client から取得したデフォルト値とクレジット カード情報を含む請求情報があります。次のようになります。
<%= form_for @payment, :url => { action: "checkout" } do |f| %>
...show errors ...
<%= f.fields_for @client do |ff| %>
<%= ff.label :firstname, 'First Name*' %>
<%= ff.text_field :firstname %>
...more fields ....
<%= ff.label :zip, 'Zip*' %>
<%= ff.text_field :zip %>
<% end %>
<%= f.label :cardnumber, 'Card Number*' %>
<%= f.text_field :cardnumber %>
... more cc info fields ...
<% end %>
モデルに attr_accessor :cardnumber とその他のカード情報フィールドを追加しました。
これらのゲッターまたはセッターメソッドはありません(おそらくそれが欠けています)。
ただし、支払いモデルにはこれがあります。
validates :zip, presence: true, numericality: true
validates :cardnumber, presence: true, numericality: true
それでも、これまでのところ、フォームはこの検証をすべてバイパスし、チェックアウトに向かいます。どんな助けでも大歓迎です!これらの検証を適切に機能させるにはどうすればよいですか?