rails_admin自定义新表单的视图

问题描述 投票:1回答:1

我正在使用rails_admin并且还使用自定义操作来实现我的一项功能。 我的要求是使用mechanize gem从其他网站获取数据,我能够做到这一点。 现在我需要在我的一个模型的新动作上发送所获取的数据,以便可以以新的形式预填充数据,我可以直接提交它以保存到数据库。 任何帮助将受到高度赞赏。 提前致谢。

我到现在为止工作的东西是:

LIB / rails_admin / mydata.rb

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

module Mydata
end

module RailsAdmin
  module Config
    module Actions
      class Mydata < RailsAdmin::Config::Actions::Base
        RailsAdmin::Config::Actions.register(self)

        register_instance_option :visible? do
          authorized?
        end

        register_instance_option :collection do
          true
        end

        register_instance_option :link_icon do
          'icon-plus'
        end

        register_instance_option :pjax? do
          false
        end

        register_instance_option :controller do
          Proc.new do 
        end
      end
     end
    end
  end
end

/app/views/rails_admin/卖弄/没有打他.HTML.而不

<%= form_tag("/movies/mydata") do %>
  <%= text_field_tag 'movie[url]', nil, placeholder: 'Enter URL...' %>
  <%= submit_tag 'Fetch' %>
<% end %>

/app/controllers/movies_controller.日本

class MoviesController < ApplicationController

  def mydata  
    m = Mechanize.new
    page = m.get(url_params[:url])
    puts page
    redirect_to "/admin/movie/new"
  end

  private

    def url_params
      params.require(:movie).permit(:url)
    end

end

/config/initializers/rails_admin.日本

require Rails.root.join('lib', 'rails_admin', 'mydata.rb')
RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::Mydata)

RailsAdmin.config do |config|
  config.actions do
    mydata
  end        
end

所以,这就是我现在所做的。 我获取的数据是页面变量(movies_controller.rb的mydata动作)。 我通过在控制台上打印来检查这个。

现在我希望这些数据以新形式的电影控制器填充,或者我需要再创建一个动作来填充此表单数据。如何做到这一点。请帮忙。

ruby-on-rails rails-admin
1个回答
0
投票

添加POST和GET请求,以便可以提交表单添加一行

register_instance_option :http_methods do
      [:get, :post]
end

并重新启动rails以查看效果!!您可以直接从rails中的Proc.new功能调用Mechanize类。

© www.soinside.com 2019 - 2024. All rights reserved.