![](/img/trans.png)
[英]Rails 4 JavaScript / JQuery render multiple partial through edit controller action
[英]Rails: How to run javascript when the controller render action
为了争辩,我们有“ 新产品 ”的形式。
我对html表单元素使用了一些JavaScript库(例如icheck,select2,wysihtml5)。 这些表单元素需要与其关联的js库函数一起运行才能正确显示(例如$(".checkbox").iCheck({...}
)),然后再呈现HTML页面。
如果提交表单时出现验证错误,Rails将呈现“ new ”操作以重新显示带有错误的“ new product ”表单(恰好在“ ProductsController ”中的“ Create ”方法中)。
问题是在这种情况下,Rails不会再次执行关联的javascript文件(例如products.js.coffee)。 然后,基于javascript的html表单元素将无法正确显示,因为它们应该显示为正确的(因为$(".checkbox").iCheck({...})
无法执行)。
我该如何解决这个问题?
这可能是turbolinks问题。 查看jquery-turbolinks
gem,或尝试以下操作:
ready = ->
...your coffeescript goes here...
$(document).ready(ready)
$(document).on('page:load', ready)
您也可以尝试禁用涡轮链接,以查看是否确实是问题所在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.