在Rails ActiveAdmin中进行矩阵编辑?

歌声

我在Rails中使用ActiveAdmin。

我的用例类似于货币兑换:假设我有10种货币,并且一种货币可以转换为另一种货币。为了支持编辑,我需要创建一个矩阵,其中行是CurrencyA,列是CurrencyB,值是从CurrencyA到CurrencyB的转换,如下所示:

|     | SGD | USD | HKD | CNY |
|-----|-----|-----|-----|-----|
| SGD |     |     |     |     |
| USD |     |     |     |     |
| HKD |     |     |     |     |
| CNY |     |     |     |     |

相应地,在我的数据库中,有一个名为的表currency_conversions该表具有:

from_currency | to_currency | conversion_rate

(我的实际用例不是货币转换,但是此示例可以更好地显示我的用例)。

但是,我找不到activeadmin具有这种功能..有什么建议吗?

歌声

经过一番调查,我发现

这是它的样子(数据是伪造的):

ActiveAdmin矩阵编辑

这是我所做的:

  1. 定义一个自定义控制器:http : //activeadmin.info/docs/8-custom-actions.html,处理获取和发布请求
  2. 在视图中,准备表格,这是一种形式
  3. 在中定义相应的CSS app/assets/stylesheets/active_admin.css.scss

另外,由于我今天已经投票了,所以让我在这里分享我的视图代码(它是.html.slimformat);我多次重复使用它:

/ Required params:
/   - headers       -- the headers array. each item would be passed to the header_blk
/   - left_headers  -- the array for the headers on the left side
/   - rows          -- contents for the table
/   - col_blk       -- a block to get the content needed for each column, where what passed in is the:
/                         column, row_id, col_id
/ Optional params:
/   - banner_top_right    -- the banner text you want to put at the top-right of the splitter
/   - banner_bottom_left  -- the banner text you want to put at the bottom-left of the splitter

- banner_top_right ||= ""
- banner_bottom_left ||= ""
table.admin-matrix
  thead
    tr
      td.diagonal-splitter
        svg(width='100%' height='100%')
          line(x1='0' y1='0' x2='100%' y2='100%' style='stroke:rgb(0,0,0);stroke-width=2')
        .triangle-top-right   = banner_top_right
        .triangle-bottom-left = banner_bottom_left
      - headers.each do |header|
        td.header
          = header
  tbody
    - rows.each_with_index do |row, rid|
      tr
        td.header = left_headers[rid]
        - row.each_with_index do |col, cid|
          td
            - col_blk[col, rid, cid]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Rails中进行调试?

来自分类Dev

在Rails中进行验证

来自分类Dev

Rails ActiveAdmin-编辑新的资源视图

来自分类Dev

Rails ActiveAdmin-编辑新的资源视图

来自分类Dev

在交易中进行Rails交易?

来自分类Dev

在Rails中进行版本控制?

来自分类Dev

在Ruby on Rails中进行过滤

来自分类Dev

避免在 Rails 中进行轮询

来自分类Dev

验证可在编辑中进行,但模板在创建Rails错误时丢失错误

来自分类Dev

从下拉菜单中选择,在Rails中进行编辑和更新

来自分类Dev

在Rails视图中进行变量调用

来自分类Dev

在Rails中进行作用域4

来自分类Dev

使用mongodb在Rails中进行批量更新

来自分类Dev

在rails3中进行重构

来自分类Dev

在Rails中进行Resist Capistrano部署

来自分类Dev

Rails 4:ActiveAdmin / Devise —在ActiveAdmin中编辑用户时填写“ reset_password_token”字段?

来自分类Dev

Rails:ActiveAdmin +设计

来自分类Dev

Rails:ActiveAdmin +设计

来自分类Dev

在Rails中进行分组,计数,拥有和排序

来自分类Dev

使用POST在Rails中进行持久/保持活动的HTTP连接

来自分类Dev

Rails:如何在生产环境中进行调试?

来自分类Dev

在Ruby on Rails中进行电子邮件验证?

来自分类Dev

在Rails中进行数据库备份4

来自分类Dev

通过在Rails中进行迁移来添加自动增量

来自分类Dev

f。在Rails中不应用Bootstrap中进行选择

来自分类Dev

Rails:如何在不同的视图中进行小的更改

来自分类Dev

索引非模型对象以在Elasticsearch中的Rails中进行搜索

来自分类Dev

使用dataTables还是在Rails中进行过滤和分页?

来自分类Dev

在Rails中进行验证之前剥离电话号码输入