簡體   English   中英

jquery-rails和jquery-ui-rails gem在Ruby on Rails應用程序中無法按預期工作

[英]jquery-rails and jquery-ui-rails gems not working as expected in Ruby on Rails application

我在使用jquery-railsjquery-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

問題1:

當我在我的Gemfile中添加jquery-railsjquery-ui-rails寶石時,這些寶石應該包含在我的group :assets do阻塞,還是應該在外面? 我都嘗試了這兩種方法,但無論哪種方法都行不通,但是我認為假設所有其他方法都可以正常工作,這個問題的答案是正確的。

另外,我到處都讀到jquery-ui-rails gem包含了我需要的css,例如jquery datepicker,但是我可以使datepicker具有任何樣式的唯一方法是在應用程序中包含代碼url。 html.erb文件。

問題2:

我是否應該能夠將datepicker添加到通過內置的rails ajax響應(* .js.erb)部分加載的表單中? 我有一個帶有用於特定text_field的日期選擇器的部分列表,但是當我單擊一個日期(本地)時,該日期未放置在text_field中。

答案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文件*= require jquery-ui/jquery-ui.css

路徑:

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

這個!

答案2:是的,您應該能夠。 您的方法似乎有點不便,我將不得不看一些代碼來幫助您。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM