To Examples
Comparison of TemperatureConverter2 and TemperatureConverter3 Examples
---- Temperature2/app/views/convert/input.html.erb ------------------------------
<h1>Input Fahrenheit Temperature</h1>
<%= form_tag 'display' do %>
<p><%= text_field_tag :name %> Name<br></p>
<p><%= text_field_tag :cel %> Celsius Temperature<br></p>
<p><%= submit_tag 'Convert Temperature' %></p>
<% end %>
---- Temperature3/app/views/convert/input.html.erb ------------------------------
<h1>Input Fahrenheit Temperature</h1>
<%= form_for @convert_rec, url: convert_display_path do |f| %>
<p><%= f.text_field :name %> Name<br></p>
<p><%= f.text_field :cel %> Celsius Temperature<br></p>
<p><%= f.submit 'Convert Temperature', class: 'ctrl' %></p>
<% end %>
---- Temperature2/app/controllers/convert_controller.rb -------------------------
class ConvertController < ApplicationController
def input
end
def display
@n = params[:name]
@c = params[:cel].to_i
@f = 9 * @c / 5 + 32
rec = TempConvertRecord.new
rec.name = @n
rec.cel = @c
rec.fahr = @f
rec.save
@recs = TempConvertRecord.all
end
end
---- Temperature2/app/controllers/convert_controller.rb -------------------------
class ConvertController < ApplicationController
def input
@convert_rec = TempConvertRecord.new
end
def display
# The following line was incorrect on 10/21
# convert_rec = params(pass_params)
# Here us the corrected line:
rec = TempConvertRecord.new(pass_params)
rec.fahr = 9 * rec.cel / 5 + 32
rec.save
# Get array to show on display view.
@recs = TempConvertRecord.all
end
private
# Only allow permitted control values from client.
def pass_params
params.require(:temp_convert_record).permit(:name, :cel)
end
end
--------------------------------------------------------------------