Rails5.1.3でWebアプリケーション制作の勉強をしています。
ブラウザに表示されているレコードのidを取得したいのですが、取得できなくて困っています。
流れは以下のようになっています。
views/admin/records/account_change.html.erb から
controllers/admin/banks_controller.rb の account_changeアクションに飛びます。
ここでviewに表示されているレコードのidを取得したいのですが上手くできません。
コードは以下のように記述しています。
views/admin/records/account_change.html.erb . <% change_account.each do |f| %> . . <td class="actions"> <%= link_to 'WEB総振登録', admin_bank_account_change_path(f) %> </td>
controllers/admin/banks_controller.rb def account_change bank = Bank.find_by(customer_id: params[:id])----ここで取得できていないため bank.bk_name_check = bank.bk_name-----------------ここでエラーが発生 bank.office_check = bank.office bank.account_check = bank.account redirect_to :admin_root end
エラー内容 Processing by Admin::BanksController#account_change as HTML Parameters: {"host"=>"example.com", "bank_id"=>"2"} --------取得できているような感じですが・・・ Administrator Load (0.5ms) SELECT `administrators`.* FROM `administrators` WHERE `administrators`.`id` = 1 LIMIT 1 Bank Load (0.4ms) SELECT `banks`.* FROM `banks` WHERE `banks`.`customer_id` IS NULL LIMIT 1----NULLになっています。 Completed 500 Internal Server Error in 42ms (ActiveRecord: 4.1ms) NoMethodError (undefined method `bk_name' for nil:NilClass): app/controllers/admin/banks_controller.rb:32:in `account_change'
ブラウザで表示されているLinkの「WEB総振登録」にカーソルを持って行くと
example.com:3000/admin/banks/2/account_change と画面左下に表示されます。
id2は取得できているよな感じはしますが・・・・
bank = Bank.find_by(customer_id: params[:id])でブラウザで表示されているレコード(id=2)を
取得する方法を教えていただけないでしょうか?
どなたか教えていただけないでしょうか?宜しくお願いします.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/21 03:58