我的代码存在问题:
class UsefulPhrase < ActiveRecord::Base
has_many :useful_phrase_contents
accepts_nested_attributes_for :useful_phrase_contents
validates_presence_of :key
end
class UsefulPhraseContent < ActiveRecord::Base
belongs_to :useful_phrase
attr_accessor :useful_phrase_id
validates_presence_of :language, :content
end
def new
@useful_phrase = UsefulPhrase.new
@available_languages = available_languages
@useful_phrase.useful_phrase_contents.build
end
def create
@useful_phrase = UsefulPhrase.new(useful_phrase_params)
@useful_phrase.useful_phrase_contents.build(upc_params)
respond_to do |format|
if @useful_phrase.save
format.html { redirect_to @useful_phrase, notice: 'bla-bla' }
format.json { render :show, status: :created, location: @useful_phrase }
else
format.html { render :new }
format.json { render json: @useful_phrase.errors, status: :unprocessable_entity }
end
end
end
def useful_phrase_params
params.require(:useful_phrase).permit(:key)
end
def upc_params
params.require(:useful_phrase).require(:useful_phrase_content).permit(:language, :content)
end
当我尝试保存我得到的任何记录时:
/ useful_phrases中的ActiveModel :: MissingAttributeError 无法写出未知属性
useful_phrase_id
我不知道如何修复它。
答案 0 :(得分:0)
尝试在upc_params中编辑参数
params.require(:useful_phrase) .permit(:language,content,:useful_phrase_content =&gt; [puttheattributefor use_ful_phrase_content])