У меня проблема.Я пытаюсь получить адрес электронной почты от wallet_id, который сначала не связывает это отношение с участником, а сначала с учетной записью инвестора, как в примере ниже.
member.rb
class Member < ActiveRecord::Base
has_one :investor_account, dependent: :destroy
end
investor_account.rb
class InvestorAccount < ActiveRecord::Base
belongs_to :member
has_many :wallets, dependent: :destroy
end
wallet.rb
class Wallet < ActiveRecord::Base
belongs_to :investor_account
end
top_up.rb
belongs_to :wallet
/ top_ups / _form.html.slim
= simple_form_for [:transaction, @top_up] do |f|
.form-group
= f.input :wallet_id, collection: @wallet, input_html: { class: 'form-control' }, include_blank: "Select..."
.form-group
= f.input :amount, input_html: { min: 0, value: 0 }
/ controllers / top_ups_controller.rb
def new
@top_up = TopUp.new
@wallet = Wallet.joins(:investor_account).where(investor_accounts: {approval_status: 'approved'})
end
Данные по «f.input: wallet_id ....»был обнаружен, но это не электронная почта участника, вместо этого он показывает #<Wallet:0x007fd6d795e808>
на всех выпадающих кошельках, ранее я также писал код, как показано ниже.
= f.input :wallet_id, collection: @wallet, :id, :email, input_html: { class: 'form-control' }, include_blank: "Select..."
Но это приводило к возникновению проблемы с электронной почтой, не найденной.У меня был вопрос, как передать члену в этой переменной @wallet = ...
, чтобы член электронной почты отображался в моей форме?Есть ли лучший способ получить это?