Пользовательский javascript в rails_admin, привязка события jQuery

77
8

Я пытаюсь создать ассоциацию перетаскивания изображения в rails_admin.

У меня есть модель места и множество изображений, связанных с этим местом. Изображение будет загружено ранее и связано с местом.

Я создал пользовательское действие в rails_admin.

rails_admin.rb

# Registering Custom Actions
module RailsAdmin
module Config
module Actions
class ImageAssociate < RailsAdmin::Config::Actions::Base
RailsAdmin::Config::Actions.register(self)
end
end
end
end

# Adding Custome action to RA actions
config.actions do
dashboard
index
new

show
edit
delete
image_associate
end

rails_admin_image_associate.rb в каталоге lib

require 'rails_admin/config/actions'
require 'rails_admin/config/actions/base'

module RailsAdminImageAssociate
end

module RailsAdmin
module Config
module Actions
class ImageAssociate < RailsAdmin::Config::Actions::Base

register_instance_option :link_icon do
'icon-picture'
end

# Its Memeber Function
register_instance_option :member do
true
end

register_instance_option :controller do
Proc.new do
@associated_images = @object.images
@images = Image.all - @associated_images
# binding.pry
@image_type = @images.collect(&:asset_type)

# flash[:notice] = "You have approved the review titled: #{@object.name}"
end
end
end
end
end
end

Я добавил его в rails_admin.rb

require Rails.root.join('lib', 'rails_admin_image_associate.rb')

просмотры/rails_admin/главный /image_associate.rb

<%= stylesheet_link_tag "rails_admin/image_associate.css" %>

<div id="all_images" class="span4">
<select name="image_type" id="image_type">
<option value="all">all</option>
<% @image_type.each do |type| %>
<option value="<%=type%>"><%=type%></option>
<%end%>
</select>
<% @images.each do |image| %>
<img src="<%=image.file.thumb%>">
<%end%>
</div>
<div id="associated_images" class="span7">
<% @associated_images.each do |aimage| %>
<img src="<%=aimage.file.thumb%>">
<%end%>
</div>

<div class="clearfix">

</div>

Теперь мне нужно вызвать "событие изменения" в поле выбора "image_type". Я переопределяю "ui.js" в rails_admin и включил пользовательский файл js

активов /JavaScript/rails_admin/заказ /ui.js

//= require_tree .

активов /JavaScript/rails_admin/заказ /image_associate.js

$('#image_type').on('change',function () {
alert("change triggered");
});

Я вижу, что этот файл загружен в конец. Но событие не запускается.

СКРИНШОТ

enter image description here

спросил(а) 2021-01-25T13:14:28+03:00 4 месяца, 3 недели назад
1
Решение
89

Пытаться:

$(document).on('change', '#image_type',function () {
alert("change triggered");
});

ответил(а) 2021-01-25T13:14:28+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема