좋아요. 모델과 컨트롤러를 볼 때 양식이 있습니다. 여러분은 합계에 대한 새로운 견해에있는 양식을 채울 것입니다. 컨트롤러 버튼 create
에 요청할 제출 버튼을 누르십시오. create
작업에서 total_params
메서드를 호출합니다.이 메서드는 params
해시 (뷰에서 양식에 있던 모든 정보가 포함되어 있음)를 확인하여 :total
키의 값이 있는지 확인합니다. :cake
및 :icecream
이 전달 될 수 있습니다 (이것은 강력한 매개 변수 또는 흰색 목록 매개 변수를 호출합니다). private
키워드는 컨트롤러 외부에서 total_params
작업에 직접 액세스하지 않기 때문입니다. 그런 다음 create
메서드에서 each
모양은 total_params
에 대한 호출에서 반환 된 해시 값을 반복하고 total_value 변수에 추가합니다. 각 루프가 완료 한 Total
레코드는 total
열 값이 icecream
과 cake
의 합계 인 데이터베이스에 작성됩니다. 이것은 대략 당신이 값을 저장하는 방법에 관한 것입니다.
보기
#app/views/totals/new.html.erb
<%= form_for @total, url: {action: "create"} do |f| %>
<%= f.label :icecream %><br>
<%= f.number_field :icecream %>
<%= f.label :cake %><br>
<%= f.number_field :cake %>
<%= f.submit %>
컨트롤러
#app/controllers/totals_controller.rb
class TotalsController << ApplicationController
def create
total_value = 0
total_params.each do |k, v|
total_value += v
end
Total.create(total: total_value)
end
private
def total_params
params.require(:total).permit(:cake, :icecream)
end
end
모델
#app/models/total.rb
class Total << ActiveRecord::Base
end
당신이 후 제출 같은 페이지에 결과를보고 싶어하거나이 데이터베이스에 저장됩니다 있습니까? .. 전체 양식을 추가 할 수 있습니까? – Zero
네, 제출을 클릭하면 데이터 박스에 저장 될 것입니다 – Cactus
모델과 컨트롤러 메소드를 추가하십시오. – Zero