0

我在使用jquery-railsand时遇到问题jquery-ui-rails gems。我已经到了可以在本地让日期选择器出现并且某些效果起作用的地步。但是,当我检查托管在 heroku 上的网站时,即使我的 rails ajax 响应也不起作用。它们默认为控制器中的常规 html 响应,错误为

Error: Sprockets::FileNotFound: couldn't find file 'jquery' (in /app/app/assets/javascripts/application.js:4)

我注意到它说/app/app/我知道这是不对的,但我不知道如何解决这个问题。

这是我的 application.js 中包含的内容:

//= require_self
//= require foundation.min
//= require app
//= require jquery
//= require jquery_ujs
//= require jquery-ui

问题一:

当我在我的 Gemfile 中添加jquery-railsjquery-ui-railsgem 时,它们应该包含在我的group :assets do块中,还是应该在外面?我已经尝试了这两种方法,但它都不起作用,但我认为这个问题有一个正确的答案,假设我让其他一切正常工作。

此外,我到处都读到jquery-ui-railsgem 包含我需要的 css,例如 jquery datepicker,但我可以让 datepicker 具有任何样式的唯一方法是将代码 url 包含在我的 application.html.erb 文件中。

问题2:

我是否可以通过内置的 rails ajax 响应 (*.js.erb) 将日期选择器添加到部分加载的表单中?我有一个部分列表,其中包含特定 text_field 的日期选择器,但是当我单击日期(本地端)时,日期不会放在 text_field 中。

4

1 回答 1

0

答案 1: :assets 组基本上充当其他组的快捷方式,具体取决于您在 config/application.rb 文件中设置的内容:

if defined?(Bundler)
 # If you precompile assets before deploying to production, use this line
 # Bundler.require(*Rails.groups(:assets => %w(development test staging)))
 # If you want your assets lazily compiled in production, use this line
 Bundler.require(:default, :assets, Rails.env)
end

这在你的项目中是否漂亮或需要,真的取决于你。我通常总是将它们从 :assets 组中删除,但这只是因为我的组有点不同并且喜欢我的 Gemfile 整洁。

至于 css-files,做*= require jquery-ui/jquery-ui.css

路径:

vendor/assets/stylesheets/jquery-ui/jquery-ui.css 
vendor/assets/images/jquery-ui/images/ (your theme images)

这个!

答案 2:是的,你应该可以。您的方法似乎有点不方便,我将不得不查看一些代码来帮助您。

于 2013-04-21T00:33:39.353 回答