这是来自Rails 3应用程序的创建操作
def create @question = Question.new(params[:question]) respond_to do |format| if @question.save format.html { redirect_to @question, notice: 'Question was successfully created.' } format.json { render json: @question, status: :created, location: @question } else format.html { render action: "new" } format.json { render json: @question.errors, status: :unprocessable_entity } end end end 这是来自Rails 4应用程序的创建操作
def create @question = Question.new(question_params)
respond_to do |format|
if @question.save
format.html { redirect_to @question, notice: 'Question was successfully created.' }
format.json { render json: @question, status: :created, location: @question }
else
format.html { render action: "new" }
format.json { render json: @question.errors, status: :unprocessable_entity }
end
end
end
这是question_params方法
private def question_params params.require(:question).permit(:question_details, :question_content, :user_id, :accepted_answer_id, :province_id, :city, :category_ids) end
如果要允许散列数组(或an array of objects从JSON的角度来看)
params.permit(:foo, array: [:key1, :key2]) 这里要注意2点:
array应该是方法的最后一个参数permit。 您应该在数组中指定哈希的键,否则会得到一个error Unpermitted parameter: array,在这种情况下很难调试。 问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。