首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编辑嵌套属性

编辑嵌套属性
EN

Stack Overflow用户
提问于 2016-05-24 16:19:04
回答 1查看 434关注 0票数 0

我在编辑嵌套模型时遇到了问题。当我执行下面的代码时,这会在我的WeeklySchedule表中创建另一个条目。

例句:我想在星期一替换9到10名。

WeeklySchedule表:

编辑前:

代码语言:javascript
复制
weekly_schedule_id: 1 monday: 9

编辑后:

代码语言:javascript
复制
weekly_schedule_id: 1 monday: 9
weekly_schedule_id: 2 monday: 10

代码:

型号:

代码语言:javascript
复制
class Installation < ActiveRecord::Base
  accepts_nested_attributes_for :weekly_schedule
  belongs_to :weekly_schedule
end

class WeeklySchedule < ActiveRecord::Base
  has_one :installation
end

表格:

代码语言:javascript
复制
 <%= simple_form_for @installation, class: 'form-horizontal' do |f| %>
      <%= f.simple_fields_for :weekly_schedule do |w| %>
        <%= w.time_field :monday %>
      <% end %>
 <% end %>

主计长:

代码语言:javascript
复制
def update
 @installation.update(installation_params)
 (...)
end

def edit
 @installation = current_user.installations.find_by(:installation_id => params[:id])
end

installation_params:

代码语言:javascript
复制
{"x"=>"20",
 "y"=>"21",
"weekly_schedule_attributes"=>{"monday"=>"10"}}

我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-24 18:33:52

当您在嵌套模型的强参数中缺少:id时,就会发生这种情况。确保您的installation_params包括如下所示的:id

代码语言:javascript
复制
def installation_params
  params.require(:installation).permit(..., :weekly_schedule_attributes => [:id, :monday, ...])
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37418931

复制
相关文章

相似问题

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