通过函数传递javascript,html_safe,raw和f无法正常工作

时间:2011-12-09 20:32:52

标签: ruby-on-rails escaping railscasts

我正在关注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

我尝试过使用html_safe,raw和f围绕fields变量,但没有一个工作过。

使用escape_javascript添加的表单的html输出如下所示:

  Start Time<input class="time" ... 

使用raw和html_safe而不是escape_javascript产生这个:

  Start Time&lt;input class=&quot;time&quot; ...

我想要的是:

  Start Time<input class="time hasDatepicker" ...

hasDatePicker是类时间的jquery函数。这可能是我尚未意识到的简单事情。但是,感谢您提前阅读和评论。

如果您觉得不再需要代码,请告诉我。我认为这就是所需要的。我使用的是Rails 3.1和Ruby 1.9.2p290。

再次感谢。

0 个答案:

没有答案