Rails5.1.3でWebアプリケーション制作の勉強をしています。
コントローラで定義したインスタンス変数をViewで表示しようと試しにコードを書いて
実行したところ値を取得出来ていないようで表示が出来ません。
コンソールでコードを1つずつ実行すると値は取得出来ています。
原因がわからずに困っていますのでどなたかご教示お願いします。
コントローラとビューのコードは以下になります。
試しに書いたrogerメソッドの@aと@bのインスタンス変数が表示できない状況です。
histories_controller.rb class Visitor::HistoriesController < Visitor::Base @@cust = Customer.maximum("id") def new @history_form = Visitor::HistoryForm.new end def create @history_form = Visitor::HistoryForm.new @history_form.assign_attributes(params[:form]) if @history_form.save @change_id = @history_form.history @change_id.customer_id = @@cust @change_id.save flash.notice = '登録しました。' render action: 'roger' else flash.now.alert = '入力に誤りがあります。' render action: 'new' end end def roger c = History.maximum("id") a = History.find_by(id: c) @a = a.reservation-----------この値を表示したい。 @b = @a.to_i * 1000----------この値を表示したい。 end end
roger.html.erb <% @title = '注文' %> <h1><%= @title %></h1> <div class="main"> <h2>注文数 <%= @a %> kg</h2> <h2>金額 <%= @b %> 円(税込み)</h2> </div>
rogerメソッドのコードを一行ずつコンソールで実行するとデータは取得出来ます。
何が原因なのかどなたか教えていただけないでしょうか?宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー