如何通过 link 单击 Activeadmin 索引页面来创建关联对象?

How to create associated object by link click in Activeadmin index page?

我有关系:

user.rb

has_one :account

account.rb

  has_many :transactions
  belongs_to :user

transaction.rb

belongs_to :account

如何在用户索引页面上的 Activeadmin 中创建 link 来为该用户创建交易?对不起,如果我的问题不是很清楚。

更新

admin/user.rb

show do
      panel 'Платежи' do
        table_for user.account do
          column('accaunt', :acc_number)
          column('balance', :balance)
          column('Last payment date', :last_pay_date)
          column('Next payment date', :next_pay_date)
          column(link_to 'Add some money', new_admin_user_account)
        end
      end
  end

耙路

new_admin_user_account GET        /admin/users/:user_id/accounts/new(.:format)              admin/accounts#new
             edit_admin_user_account GET        /admin/users/:user_id/accounts/:id/edit(.:format)         admin/accounts#edit
                  admin_user_account GET        /admin/users/:user_id/accounts/:id(.:format)              admin/accounts#show

更新2 我在开始时将其移动到索引

index do
    id_column
    column :email
    column :uid
    column :username
    column :email_notify
    column :msg_notify
    column :blocked
    column do |user|
      link_to 'Add some money', new_admin_user_account_path(user.id)
    end
    actions
  end

我遇到错误:

undefined method 'accounts' for #<User:0x000000139eb2c8>

确定未定义,用户 has_one 帐户。关系有问题。而且我认为即使这个东西开始起作用,它也不会是我想要的。我需要像 new_admin_user_account_transaction_path(user.id)

这样的东西

如果您在用户下嵌套交易,您可以将 link 指向:

column do |user|
  link_to 'Add some money', new_admin_account_transaction_path(user.account)
end

我所说的嵌套是指:

ActiveAdmin.register Transaction do
  belongs_to :account
  ...
end