Webアプリを学習しながら制作していますが、参考書のバージョンより新しいバージョンをいろいろインストールしてしまい、望んだ
通りに動いてくれなくて困っております。(都度、皆様に助けてもらっております。)
今、日付入力欄にdatepickerで日付選択ができるようにしたいのですが、たぶんturbolinksのバージョンの違いで発火してくれて
いないようです。
「変更する」、「変更しない」の切り替えは ***.js.coffeeのファイルを以下のようにしたら動いてくれました。
$(document).on 'turbolinks:load', -> $('form.edit_staff_member').on 'click', '#enable-password-field', -> $('#enable-password-field').hide() $('#disable-password-field').show() $('#staff_member_password').removeAttr('disabled') $('label[for=staff_member_password]').addClass('required') $('form.edit_staff_member').on 'click', '#disable-password-field', -> $('#disable-password-field').hide() $('#enable-password-field').show() $('#staff_member_password').attr('disabled', 'disabled') $('label[for=staff_member_password]').removeClass('required')
のように1行目を $(document).on 'page:change', ->から変更し記述ました。
原因はturbulinnks5からはこのように指定しなければならないとのことでした.
そこで、datepickerも同じ記述をしてやりましたがこちらは動きませんでした。(2カ所のコードを記述します)
$(document).on 'page:change', -> $('.birthday-picker').datepicker({ minDate: new Date(1900, 1, 1), maxDate: new Date(), changeMonth: true, changeYear: true, yearRange: '1900:+00', defaultDate: '1970-01-01' })
$(document).on 'page:change', -> d = new Date() $.datepicker.setDefaults({ dateFormat: "yy-mm-dd", minDate: new Date(2000, 1, 1), maxDate: new Date(d.getFullYear() + 1, d.getMonth(), d.getDate() - 1) }) $('.datepicker').datepicker()
上の2つを以下でためしてみましたが同じでした。
ページ切り替え時(初回ページも対象)
$(document).on 'turbolinks:load', -> console.log 'turbolinks:load'
ページ切り替え時(初回ページは対象外)
$(document).on 'turbolinks:render', -> console.log 'turbolinks:render'
ページ遷移前
$(document).on 'turbolinks:request-start', -> console.log 'turbolinks:request-start'
Gemfileは以下でbundle updateしています。
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'jquery-turbolinks'
app/assets/stylesheets/staff.cssの内容は以下です。
/*
*= jquery.ui.datepicker #requireを削除するようにエラーが出たので削除しました。
*= require_tree ./shared
*= require_tree ./staff
*/
datepickerを使用するにはどうしたらいいのでしょうか?どなたか教えていただけないでしょうか?
宜しくお願いします。
追記させていただきます。動作確認をしたところ、「変更する」、「変更しない」も発火しなくなってしまいました。
少し前まで動いてくれていたのですが、エラーもでていないので原因がわからず困っております。
「変更する」、「変更しない」の部分のコードは何もいじっていないのに動かなくなる原因はどこに原因があるのでしょうか?
エラー内容追記
Sprockets::FileNotFound in Staff::Sessions#new Showing /home/vagrant/chibi/chibi/app/views/layouts/staff.html.erb where line #6 raised: couldn't find file 'jquely-ui/i18n/datepicker-ja' with type 'application/javascript' Checked in these paths: /home/vagrant/chibi/chibi/app/assets/config /home/vagrant/chibi/chibi/app/assets/images /home/vagrant/chibi/chibi/app/assets/javascripts /home/vagrant/chibi/chibi/app/assets/stylesheets /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/jquery-turbolinks-2.1.0/vendor/assets/javascripts /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/jquery-ui-rails-6.0.1/app/assets/images /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/jquery-ui-rails-6.0.1/app/assets/javascripts /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/jquery-ui-rails-6.0.1/app/assets/stylesheets /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/jquery-rails-4.3.1/vendor/assets/javascripts /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/coffee-rails-4.2.2/lib/assets/javascripts /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actioncable-5.1.3/lib/assets/compiled /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionview-5.1.3/lib/assets/compiled /home/vagrant/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/turbolinks-source-5.0.3/lib/assets/javascripts Extracted source (around line #7): 5 //= require turbolinks 6 //= require jquery-ui/widgets/datepicker 7 //= require jquely-ui/i18n/datepicker-ja 8 //= require_tree ./shared 9 //= require_tree ./staff Rails.root: /home/vagrant/chibi/chibi Application Trace | Framework Trace | Full Trace app/assets/javascripts/staff.js:7 app/views/layouts/staff.html.erb:6:in `_app_views_layouts_staff_html_erb___4578289695913132902_69866452249820' app/controllers/staff/sessions_controller.rb:9:in `new'
回答1件
あなたの回答
tips
プレビュー