1
운동 추적기를 만들려고합니다.레일 4 중첩 된 리소스, 양식, 강력한 매개 변수
class Workout < ActiveRecord::Base
has_many :exercises
belongs_to :day
end
Day.rb에게
class Day < ActiveRecord::Base
has_many :workouts
has_many :meals
accepts_nested_attributes_for :workouts, :allow_destroy => true
accepts_nested_attributes_for :meals, :allow_destroy => true
end
문제를
Workout.rb : 나는
이resources :days do
resources :workouts
resources :meals
end
내 모델은 잘 보면 이러한 중첩 된 자원
Routes.rb이 내가 창조하려고하면 거짓말한다. EA의 새로운 운동 ..
../views/workouts/_form.html.haml
는= form_for([@day, @workout]), html: {class: 'form-horizontal'}) do |f|
= f.input :workout, label: "What did you work out", input_html: { class: "form-control"}
= f.input :mood, label: "How do you feel", input_html: { class: "form-control"}
= f.hidden_field :day_id, value: params[:day_id], input_html: { class: "form-control"}
= f.submit
내가 저장하는 것 은어 : 운동은 운동과 관련된 day_id하는 강력한 PARAMS를 사용하여 그것들을받을 수 있지만 .
WorkoutsController.rb
private
def workout_params
params.require(:workout).permit(:day_id, :name, :mood)
end
def find_day
@day = Day.find(params[:day_id])
end
대신에 무엇을 저장 도착하기위한 무기 호입니다 : day_id
레일 콘솔 :
Workout id: 11, name: "Hey", mood: "no", day_id: nil, created_at: "2014-12-19 14:53:29", updated_at: "2014-12-19 14:53:29"
HELP는?
추신 - 내가
= form_for([@day, @workout]), as: :foo, html: {class: 'form-horizontal'}) do |f|
= f.input :workout, label: "What did you work out", input_html: { class: "form-control"}
= f.input :mood, label: "How do you feel", input_html: { class: "form-control"}
= f.hidden_field :day_id, value: params[:day_id], input_html: { class: "form-control"}
= f.submit
다음
def workout_params
params.require(:foo).permit(:day_id, :name, :mood)
end
을하려고 노력하지만 그냥 말을 계속 : 빈 푸 PARAMS을
합니까 이 일? 'Day.find (params [: workout] [: day_id])' – Magnuss
'레이크 루트 '를 실행하고 보고서를 게시 할 수 있습니까 (아니면 최소한 하루와 운동 경로가있는 부분)? – tagCincy