【问题标题】:Custom javascript in rails_admin , jQuery event bindingrails_admin 中的自定义 javascript,jQuery 事件绑定
【发布时间】:2013-08-18 06:00:05
【问题描述】:

我正在尝试在 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')

views/rails_admin/main/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”上触发一个“更改事件”。我覆盖了 rails_admin 中的“ui.js”并包含了自定义 js 文件

asset/javascript/rails_admin/custom/ui.js

//= require_tree .

asset/javascript/rails_admin/custom/image_associate.js

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

我可以看到这个文件是在前端加载的。但是事件没有触发。

屏幕截图

【问题讨论】:

    标签: jquery ruby-on-rails ruby-on-rails-3 rails-admin


    【解决方案1】:

    试试:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多