J'essaie d'utiliser Formtastic pour créer un formulaire de paiement, car j'aimerais utiliser les erreurs en ligne. J'utilise ActiveMerchant pour gérer la facturation. J'ai la forme suivante:fields_for, formtastic, ActiveMerchant et les erreurs de validation
<%= semantic_form_for @payment do %>
<%= form.inputs do %>
<%= form.input :email, :label => "Email Address" %>
<%= form.semantic_fields_for :credit_card_attributes do |cc| %>
<%= cc.input :number, :label => "Credit Card Number" %>
<%= cc.input :first_name, :label => "First Name" %>
<%= cc.input :last_name, :label => "Last Name" %>
<%= cc.input :month, :label => "Expiration Month" %>
<%= cc.input :year, :label => "Expiration Year" %>
<%= cc.input :verification_value, :label => "Verification Code" %>
<% end %>
<% end %>
<% end %>
Et c'est ce qui est dans mon modèle Payment
:
class Payment < ActiveRecord::Base
validates_associated :credit_card, :on => :create
def credit_card_attributes=(attrs)
@credit_card = ActiveMerchant::Billing::CreditCard.new(attrs)
end
def credit_card
@credit_card
end
end
Lorsque je soumets une carte de crédit valide, il figure que c'est invalide, mais je ne suis pas l'une des erreurs en ligne de formtastic. Je pense qu'il y a probablement quelque chose de simple qui me manque ici, je ne suis pas sûr de quoi.
C'est sur Rails 3.
vous faire st malade besoin d'une réponse à ce sujet? – peresleguine