ここには、フィールドをフォームに動的に追加するraislcasts.com complex-form-examplesの関数があります。この関数は、レール3.1.3とjqueryで動作します。レール3.1.0とjqueryではバックスラッシュ "... "は何ですか?
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, "add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")")
end
シンボルは、シンボルであり、シンボルでなければなりません。 #{..}
の場合、\"...\"
の目的は何ですか?それを削除するとエラーが発生します。
:Exがいるので、あなたが文字列内(バックスラッシュで始まる)、二重引用符の任意の番号を使用することができます...
?文字列は二重引用符で始まります。したがって、文字列を早期に終了させないように、ネストされた文字列をエスケープする必要があります。 – jaydel
もちろん、削除はエラーです。文字列は '' '文字で囲まれています;これはRubyコードの価値ですか? –