我有一个信用卡类,我想在各种属性上使用simple_form f.input方法以用于验证等,但我收到有关model_name的错误。有一种简单的方法可以做到这一点吗?
= simple_form_for @credit_card, url: join_network_path do |f|
.payment-errors
= f.input :card_number
= f.input :cvc
= f.input :expiry_month
= f.input :expiry_year
= f.submit 'Join Network'
答案 0 :(得分:4)
您需要符合ActiveModel API ...
有效:
class CreditCard
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
def persisted?
false
end
end
一些背景知识: