2012-02-14 79 views
0

每当我做了以下也不会在表单上显示的任何子字段:如何获得formtastic的嵌套窗体?

= f.semantic_fields_for :transfers do |g| 

如果我singularize,他们显示但随后该模型没有什么线索做:transfer。我试图为accepts_nested_attributes_for做单数匹配,但那也没用。

交易:

has_many :transfers 
accepts_nested_attributes_for :transfers 

转移:

belongs_to :transaction 

观点:

= semantic_form_for [@user, @transaction], url: url, style: "width: inherit;" do |f| 
    = f.semantic_fields_for :transfers do |g| 
    = g.inputs do 
     = g.input :amount 
     %li 
     %label 
     = "(#{Transfer::TRANSFER_FEE.format :symbol} transaction fee will be added)" 
    = g.inputs do 
     %li 
     %label 
     Click 
     %input{ type: "image", value: "submit", style: "vertical-align: middle;", 
      src: "https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" } 
     or fill in your credit card information below 
    = g.inputs do 
     = g.input :first_name 
     = g.input :last_name 
     = g.input :card_type, as: :select, collection: [["Visa", "visa"], ["MasterCard", "master"], ["Discover", "discover"], ["American Express", "american_express"]] 
     = g.input :card_number 
     = g.input :card_verification 
     = g.input :card_expires_month, as: :select, collection: (1..12) 
     - year = Time.now.year 
     = g.input :card_expires_year, as: :select, collection: (year..(year+25)) 
    = f.inputs do 
    %li 
     %label 
     %input{ type: "submit", value: "Buy", name: "use_cc" } 
+0

输入块(第3行)是否需要在semantic_fields_for块之外? – 2012-02-14 19:27:26

+0

它不需要在那里,但它也不会影响它。 – skeemer 2012-02-15 22:37:21

+0

对不起,我奇怪地问了我的问题。只是为了澄清,如果将semantic_fields_for块封装在输入块中,它没有任何作用? – 2012-02-15 23:16:35

回答

0

的问题是,我并没有建立一个传输对象。

在控制器

@transaction = current_user.transactions.build 
@transaction.transfers.build 

我没有添加的第二线。