微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – Rails管理员修改列表/显示视图以添加新的/自定义的列

我已经为我的网站的管理界面设置了rails_admin.

对于其中一个Model,我想显示一个附加列.

说我的名字,电话,电子邮件,图像url,等级属性在我的模型(说学生).
然后我必须显示列:名称|排名|预览(附加列)

在预览列中,我想根据每个“学生”的属性(电子邮件,图像,网址等)显示一些呈现的HTML.

我已经找到了包括部分编辑/更新/创建的方式来提供字段/表单根据我们的部分.但是包括部分在内的同样的实现在列表/显示中是失败的.

那么有什么办法可以添加部分来显示渲染的内容,在列表/显示视图中的模型?

编辑:添加代码

config.model Utility do
   list do
     field :code
     field :priority
     field :name
     field :url
     field :phone
     field :logo
     field :content
     sort_by :priority
     items_per_page 100
   end
end

这将在rails_admin中显示以下列

代码|优先级|名称| Url |电话|标志|内容

我想要的是
代码|优先|预习

在“预览”列中,我想将html呈现内容显示为:

blah.html(例如,例如html,我想以某种方式呈现在其中一个页面中,因此也可以呈现给管理员视图)

<div class="blah">
  <%=util.name%> <%=util.phone%> <%=util.logo%> #usage with proper divs/tags/rendering
</div >

解决方法

config.model Utility do
  configure :preview do
    pretty_value do
      util = bindings[:object]
      %{<div class="blah">
          #{util.name} #{util.phone} #{util.logo}
        </div >}
    end
    children_fields [:name,:phone,:logo] # will be used for searching/filtering,first field will be used for sorting
    read_only true # won't be editable in forms (alternatively,hide it in edit section)
  end



  list do
    field :code
    field :priority
    field :preview
  end

  show do
    field :code
    field :priority
    field :preview
  end

  # other sections will show all fields
end

抽象:

显示/列表不要使用部分输出.最后的重要一点是pretty_value.

原文地址:https://www.jb51.cc/ruby/272050.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐