2013-06-02 63 views
0

我不知道模板是否適合此目的。 我想要模板布爾值爲true的模型,可以在相同的模型窗體視圖中進行選擇。並選擇它將填補選擇模型值的形式。將模型保存爲稍後用作「模板」的最佳方法

我在考慮這個解決方案:

  • 列表模型旁邊,他形成具有模板屬性設置爲true。
  • 點擊加載它通過AJAX,並通過javascript填充加載屬性的表單。

我想知道是否有更好的方法呢?

編輯:

對不起,如果它是不可理解的。

Model.rb具有布爾屬性:template。 如果template設置爲true。它顯示在模型的窗體視圖中。

_form.html.haml:

:collection_select Model.where(:模板=>真)

和選擇,模板模型罷了,在新的模型的屬性,與舊模板型號的屬性。

我想找到Rails的方式。

+0

不好意思,但是你的問題很難理解,你可以試一下嗎? –

回答

2

添加一個類的方法在模型中找到模板記錄。

在您的控制器中,加載模板記錄和clone它。不要使用dup,因爲它會複製id

def new 
    @model = Model.find_template_record.clone 
end 
+0

爲什麼不使用'dup'? –

+0

由於'clone'「返回尚未分配id的資源的克隆」http://api.rubyonrails.org/classes/ActiveResource/Base.html#method-i-clone –

+0

你應該把這個在答案中。 –

0

要複製一個ActiveRecord模型,利用其dup方法:

@model = @template_model.dup  # create the base 
@model.attributes = params[:model] # override particular attributes 
+0

在這種情況下,我認爲'clone'比'dup'更有意義。 –

相關問題