Rails5.1.3でWebアプリケーション制作の勉強をしています。
以下のように記述していますがturbolinksが発火しないのが原因と思われ表示が切り替わりません。どのように記述すればいいのでしょうか?サイトで調べてみるとRails5ではturbolinks5.x
は発火しないみたいなことが書かれていましたが、対応策がわからないので教えていただけないでしょうか?コードは以下になります。
Gemfile gem 'turbolinks', '~> 5'
customer_form.js.coffee $(document).on 'turbolinks:load', -> $('form.edit_customer').on 'click', '#enable-password-field', -> $('#enable-password-field').hide() $('#disable-password-field').show() $('#customer_password').removeAttr('disabled') $('label[for=customer_password]').addClass('required') $('form.edit_customer').on 'click', '#disable-password-field', -> $('#disable-password-field').hide() $('#enable-password-field').show() $('#customer_password').attr('disabled', 'disabled') $('label[for=customer_password]').removeClass('required')
customer_form_presenter.rb class CustomerFormPresenter < UserFormPresenter def password_field_block(name, label_text, options = {}) if object.new_record? super(name, label_text, options) else markup(:div, class: 'input-block') do |m| m << decorated_label(name, label_text, options.merge(required: false)) m << password_field(name, options.merge(disabled: true)) m.button('変更する', type: 'button', id: 'enable-password-field') m.button('変更しない', type: 'button', id: 'disable-password-field', style: 'display: none') m << error_messages_for(name) end end end end
admin.js //= require jquery //= require rails-ujs //= require jquery.turbolinks //= require jquery-ui //= require turbolinks //= require jquery-ui/widgets/datepicker //= require jquery-ui/i18n/datepicker-ja //= require_tree ./shared //= require_tree ./admin
「変更する」は表示できています。ページを切り換えるために「変更する」をクリックすると
「変更しない」に表示が切り替わるようにしたいのです。
turbolinksのバージョンを下げても同じでした。
どなたか教えていただけないでしょうか?宜しくお願いします。
あなたの回答
tips
プレビュー