如何通过 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
我有关系:
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