düzenlerken kopya üretiyor Ryan Bates RailsCast #196: Nested model form part 1 takip etmeye çalışıyorum. Ryans versiyonuna göre iki belirgin fark var: 1) Kullandığı gibi yapı iskelesi kullanıyorum ve 2) Rayları çalıştırıyorum 4 (Ryans'ın kendi versiyonunda hangi versiyonu kullandığını bilmiyorum) ama 4 değil.RoR iç içe öznitelikleri,
Yani burada ben çok
class Question < ActiveRecord::Base
belongs_to :survey
end
gibi modellere dernek eklendi Sonra
rails new survey2
cd survey2
bundle install
rails generate scaffold survey name:string
rake db:migrate
rails generate model question survey_id:integer content:text
rake db:migrate
yaptı ve böylece
class Survey < ActiveRecord::Base
has_many :questions
accepts_nested_attributes_for :questions
end
Sonra iç içe bakış bölümünü ekledi ne
ve yeni bir anket üç soru ile yeni bir anket hazırlayarak, Yani
class SurveysController < ApplicationController
before_action :set_survey, only: [:show, :edit, :update, :destroy]
# Standard rails 4 index and show
# GET /surveys/new
def new
@survey = Survey.new
3.times { @survey.questions.build }
Rails.logger.debug("New method executed")
end
# GET /surveys/1/edit
def edit
end
# Standard rails 4 create
# PATCH/PUT /surveys/1
# PATCH/PUT /surveys/1.json
def update
respond_to do |format|
if @survey.update(survey_params)
format.html { redirect_to @survey, notice: 'Survey was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: 'edit' }
format.json { render json: @survey.errors, status: :unprocessable_entity }
end
end
end
# Standard rails 4 destroy
private
# Use callbacks to share common setup or constraints between actions.
def set_survey
@survey = Survey.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def survey_params
params.require(:survey).permit(:name, questions_attributes: [:content])
end
end
örneği her 3 soru oluşturulan bu gayet böylece nihayet kontrolör. Ancak, anketlerden birini düzenlemeye çalışırsam, orijinal üç soru korunur, diğer üç soru daha oluşturulur. Bunun yerine düzenlenen anket için 3 soru sahip, şimdi bildiğim kadarıyla yapıyorum ben, bu yürütülmez söyleyebilirim 6. denetleyicisi yeni yönteme
Rails.logger.debug("New method executed")
eklendi, ve bir düzenleme işlemi. Bana yanlış yaptığımı söyleyen var mı?
Herhangi bir yardım büyük beğeni topluyor!
orada hatalarını kontrol böylece ekleyebilir, düzenleyebilir ve denetleyici koduna eylemleri güncelleyebilirim? – Almaron
Elbette! Tahminimce darlığın altarında bir şey kayboldu. – conciliator