如果您在嵌套窗體上看到railscasts,這是動態創建鏈接的助手方法。然而,在我升級到Ruby 1.9.2和Rails 3之後,這不起作用,現在我已經明白了爲什麼。ruby,rails,railscasts example我搞砸了
def link_to_add_fields(name, f, association)
new_object = f.object.class.reflect_on_association(association).klass.new
fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
render(association.to_s.singularize + "_fields", :f => builder)
end
link_to_function(name, h("add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")"))
end
這裏是JavaScript
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g")
$(link).up().insert({
before: content.replace(regexp, new_id)
});
}
當我查看源代碼,這是怎樣的聯繫是越來越呈現:
<p><a href="#" onclick="add_fields(this, "dimensions", ""); return false;">Add Dimension</a></p>
所以""
是不正確的信息建立一個新的模板,以及如何處理字符串因爲領域正在設置。如fields= f.fields_for
我還沒有嘗試在Rails 3中嵌套形式尚未解決這個問題,但據我所知這方面沒有太大改變。你需要在這裏提供更多的細節,具體是什麼不工作?嘗試Firebug來幫助確定問題。 – ryanb 2010-04-10 05:43:50
哇,這個人自己! – s84 2010-04-10 06:10:08
我會在一秒鐘內向該問題添加更多代碼。 – s84 2010-04-10 06:10:46