加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 活动管理员 – 在成员操作中使用Form DSL(with

发布时间:2020-12-17 02:02:32 所属栏目:百科 来源:网络整理
导读:有没有办法从自定义成员操作中使用ActiveAdmin的表单dsl? 我想保留has_many语义以避免必须自己从头开始实现它,但我想要一个单独的表单视图. 这样的事情是理想的: member_action :subject,method: :get do @subject = Subject.find(params[:id]) form do |f
有没有办法从自定义成员操作中使用ActiveAdmin的表单dsl?

我想保留has_many语义以避免必须自己从头开始实现它,但我想要一个单独的表单视图.

这样的事情是理想的:

member_action :subject,method: :get do
  @subject = Subject.find(params[:id])

  form do |f|
    f.inputs do
      f.input :name,:required => true,:input_html => {:class => "large"}      
    end
  end
end

解决方法

Arbre似乎不支持formtastic,所以我无法在.arb文件中使用表单.但是,您可以在.erb文件中使用formtastic.因此,虽然它没有使用ActiveAdmin的DSL包装器进行formtastic,但语法类似:

# app/admin/foo.rb

ActiveAdmin.register Foo do
  member_action :subject,method: [:get,:patch] do
    if request.get?
      render :some_custom_view
    else
      # handle update or whatever else you would like to do on form submit
      # if resource.update(...)
      #   redirect_to ...
      # else
      #   render :some_custom_view
      # end
    end
  end
end

# app/views/admin/foo/some_custom_view.html.erb

<%= semantic_form_for [:admin,resource],url: subject_admin_foo_path(resource) do |f| %>
  <%= f.semantic_errors(*f.object.errors.keys) %>
  <%= f.inputs do %>
    <%= f.input :name %>
  <% end %>
  <%= f.actions %>
<% end %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读