首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套has_one关联的强参数

嵌套has_one关联的强参数
EN

Stack Overflow用户
提问于 2014-12-19 16:10:02
回答 1查看 3.4K关注 0票数 4

我似乎遗漏了一些显而易见的东西,但我不能允许嵌套has_one关联的属性。

主计长:

代码语言:javascript
复制
def create
  @crossword = Crossword.new(crossword_params)

  if @crossword.save
    render :show, status: :created, location: [:api, @crossword]
  else
    render json: @crossword.errors, status: :unprocessable_entity 
  end
end

def crossword_params
  params.require(:crossword).permit(:title, :grid_size, grid_size_attributes: [:rows, :columns])
end

型号:

代码语言:javascript
复制
validates :title, :grid_size, presence: true
validates_associated :grid_size
has_one :grid_size
accepts_nested_attributes_for :grid_size

请求:

代码语言:javascript
复制
POST /api/crosswords.json HTTP/1.1
X-Accept: application/crosswords.v1
Content-Type: application/json
Host: localhost:3000
Connection: close
User-Agent: Paw/2.1 (Macintosh; OS X/10.10.0) GCDHTTPRequest
Content-Length: 83

{"crossword":{"title":"My Aweosme Crossword","grid_size":{"rows":15,"columns":15}}}

Rails控制台输出:

代码语言:javascript
复制
Started POST "/api/crosswords.json" for 127.0.0.1 at 2014-12-19 11:05:13 -0500
Processing by Api::V1::CrosswordsController#create as JSON
Parameters: {"crossword"=>{"title"=>"My Aweosme Crossword", "grid_size"=>{"rows"=>15, "columns"=>15}}}
Can't verify CSRF token authenticity
Unpermitted parameters: grid_size
   (0.1ms)  BEGIN
   (0.1ms)  ROLLBACK
Completed 422 Unprocessable Entity in 2ms (Views: 0.1ms | ActiveRecord: 0.2ms)

我是不是错过了一些琐碎的东西?似乎每个人都是这么说的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-19 16:18:08

将帖子正文中的"grid_size“改为"grid_size_attributes”。

如果您想继续使用"grid_size",请更新您的crossword_params方法:

代码语言:javascript
复制
def crossword_params
    params[:crossword][:grid_size_attributes] = params[:crossword][:grid_size] if params[:crossword][:grid_size]
    # NOTE :grid_size removed!
    params.require(:crossword).permit(:title, grid_size_attributes: [:rows, :columns])
end
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27569774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档