【问题标题】:Adding custom button in activeadmin rails 4在activeadmin rails 4中添加自定义按钮
【发布时间】:2016-02-10 06:21:53
【问题描述】:

我想在活动管理员的表单中添加一个自定义按钮。单击此按钮时,它将添加一个文本字段。有人可以帮我解决我的问题吗?

这是我的banner.rb

ActiveAdmin.register Banner do
  # See permitted parameters documentation:
  # https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
  #
  # permit_params :list, :of, :attributes, :on, :model
  #
  # or
  #
  # permit_params do
  #   permitted = [:permitted, :attributes]
  #   permitted << :other if resource.something?
  #   permitted
  # end

  menu label: "Main Banner", parent: "Banners"
  permit_params :tag, :image

  form do |f|
    f.inputs do 
      f.input :tag, label: "Banner name" 
      f.input :image, :as => :file

    end
    f.actions
  end

 controller do
    def create
       @clnt = HTTPClient.new
       @uri = 'http://healthy-options.jumpdigital.ph/bannerUpload'
       File.open(params[:banner][:image].path) do |file|
          @body = { 'image' => file, 'tag' => params[:banner][:tag] }
          @res = @clnt.post(@uri, @body)
      end

      redirect_to admin_banners_path
    end

    def update
      bannerid = params[:id]
      @clnt = HTTPClient.new
      @uri = 'http://healthy-options.jumpdigital.ph/bannerUpdate'

      begin
        image = File.open(params[:banner][:image].path)
      rescue

      end

      if !image.nil?

        @body = { 'bannerid' => bannerid, 'tag' => params[:banner][:tag], 'image' =>File.open(params[:banner][:image].path) }        
        @res = @clnt.post(@uri, @body)
      else
        @body = { 'bannerid' => bannerid, 'tag' => params[:banner][:tag]}        
        @res = @clnt.post(@uri, @body)

      end
      redirect_to admin_banner_path

    end

  end

end

我想在这个文件中添加我的自定义按钮。

【问题讨论】:

  • 向我们展示您迄今为止的尝试。
  • 嗨@NatalieHedström,我编辑了我的帖子。 Tnx :)
  • 你有没有想过这个问题?我需要做同样的事情。谢谢!
  • 最好使用部分形式:) @ChrisSimeone

标签: javascript ruby-on-rails ruby ruby-on-rails-4 activeadmin


【解决方案1】:
  • 我接受和拒绝了两个参数。
  • 然后我为接受和拒绝定义了两个按钮,这两个我习惯于 接受和拒绝。

    action_item :status, only: :show do link_to 'Accept', admin_leave_application_path(id: params[:id], status: 'accepted')end

    action_item :status, only: :show do link_to '拒绝', admin_leave_application_path(id: params[:id], 状态:“拒绝”) 结束

  • 现在我定义了我的控制器,并且很容易解释如何添加按钮和工作。

控制器做

def show

  if params[:status].present? 
    leave_application = LeaveApplication.find_by(id: params[:id])
    leave_application.update(status: params[:status])
    redirect_to admin_leave_applications_path
  else
    super
  end
end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 2020-11-29
    • 2017-11-01
    相关资源
    最近更新 更多