rails js.erb 没有被渲染
Posted
技术标签:
【中文标题】rails js.erb 没有被渲染【英文标题】:rails js.erb does not get rendered 【发布时间】:2013-07-06 12:31:14 【问题描述】:我在edit.html.erb中有以下代码
<%= f.select(:newpages, @pages, :include_blank => 'No newpage' , :id => 'function', :multiple => true, :size => '7', :selected => @selected ) %>
我有另一个代码在 edit.js.erb 中使用 jquery-multiselect,但它没有被渲染。
$('#function').multiSelect()
我已经阅读了 railcasts 教程并按照说明进行操作,但我不明白为什么它不起作用。
我的控制器是这样的:(我还没有把它格式化成js)
def edit
@print = Print.find(params[:id])
# @print.blackwhites.build
@pages = (1..(@print.number_of_images_entry)).to_a
end
【问题讨论】:
你的JS控制台有错误吗? 我得到 ReferenceError: $ not defined 【参考方案1】:似乎由于某种原因,JQuery 在这次解析中是未知的,因此 $ 符号是未知的
确保您使用的是 宝石'jquery-rails' 在你的 gem 文件中
确保包括 //= 需要 jquery 在你的 application.js 中
希望对你有帮助
【讨论】:
我的 Gemfile 中有 jquery-rails 并且在此之前 //=require jquery 但它似乎并没有解决问题。从源代码中,我看到加载 erb 后加载了 jquery。 答案在这里:***.com/questions/13193905/… 现在没有错误,但我的 jquery 函数不起作用,即使我看到它正在加载。以上是关于rails js.erb 没有被渲染的主要内容,如果未能解决你的问题,请参考以下文章
Rails update.js.erb 不执行 javascript
在 js.erb 中渲染 Rails 部分而不重新加载整个页面