我正在关注 Railscasts 196 和 197,以便更好地学习动态嵌套模型形式,我可以解决这个问题。
我不知道如何通过link_to_function 传递javascript,一个字段的类包含一个jquery timepicker。
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
我尝试在 fields 变量周围使用 html_safe、raw 和 f,但没有一个有效。
使用 escape_javascript 添加的表单的 html 输出如下所示:
Start Time<input class="time" ...
使用 raw 和 html_safe 而不是 escape_javascript 会产生以下结果:
Start Time<input class="time" ...
我想要的是这样的:
Start Time<input class="time hasDatepicker" ...
hasDatePicker 是课堂时间的 jquery 函数。这可能是我还没有意识到的简单事情。但是,感谢您提前阅读和评论。
如果您觉得需要更多代码,请告诉我。我想这就是所需要的。我正在使用 Rails 3.1 和 Ruby 1.9.2p290。
再次感谢。