2012-08-29 61 views
1

我正在嘗試使用formtastic來呈現嵌套窗體。我有has_many/accep_nested_attributes_for安裝在我的父母模型。一切都很好。唯一的問題是我想排序嵌套模型的順序。排序accept_nested_attributes_for in formtastic

# this works but i want answers sorted a certain way 
= semantic_form_for survey do |f| 
    = f.inputs :for => :answers do |answer_form| 
    = answer_form.input :content 

,如果我嘗試做這樣的事情:

# form styles become extremely messed up but the order is correct 
= semantic_form_for survey, do |f| 
    = f.semantic_fields_for :answers, f.object.answers.joins(:question).order('questions.position') do |answer_form| 
    = answer_form.input :content 

我甚至嘗試創建一個名爲「假」的has_many關係:使用sorted_answers:finder_sql和:類,但不工作,要麼( answer_form是無IIRC)。

我想我問的是如果我可以使用:for =>(關係),但指定關係的順序。也許使用:for_options?

回答

1

我遇見你相同的條件下,這裏是我的解決方案:

你應該有一個名爲「答案」的模式,設置default_scope順序:使用formtastic 3.1.3

class Answer < ActiveRecord::Base 

    default_scope :order => "id" 

end 
0

,這個工作對我來說

f.input :answers, as: :check_boxes, :member_label => :some_column, collection: Answer.order(:some_column) 

的事情注意的是,集必須是一個ActiveRecord_Relation類和自Formtastic不是陣列的ActiveRecord十歲上下