Ruby on rails Rails-TypeError:nil在更新时既不是符号也不是字符串

Ruby on rails Rails-TypeError:nil在更新时既不是符号也不是字符串,ruby-on-rails,Ruby On Rails,我正在尝试更新一个属性。这是一个默认值为false的布尔值。在我的方法中,我进行查询以找到正确的用户。然后我尝试通过将owner布尔值翻转为true来更新该用户。这是一个非常奇怪的错误,因为它正在更新方法,但它也发出了这个错误TypeError:nil既不是符号也不是字符串 我只是想知道我做错了什么 控制器 HTML 如果您试图更新从属模型中的记录-它可能只有“foreing key”,但没有“primary key”。如果您添加一行“self.primary_key”,则可以解决此问题,如下所

我正在尝试更新一个属性。这是一个默认值为false的布尔值。在我的方法中,我进行查询以找到正确的用户。然后我尝试通过将
owner布尔值翻转为true来更新该用户。这是一个非常奇怪的错误,因为它正在更新方法,但它也发出了这个错误
TypeError:nil既不是符号也不是字符串

我只是想知道我做错了什么

控制器 HTML
如果您试图更新从属模型中的记录-它可能只有“foreing key”,但没有“primary key”。如果您添加一行“self.primary_key”,则可以解决此问题,如下所示:

将YourDependentRecord分类 self.primary\u key='user\u id'
结束


其中“user_id”-是主模型中的主键。

检查
成员资格是否为
nil
很好!我在使用带有非rails风格数据库(主键不是“id”)的oracle数据库时遇到了这个问题。谢谢!
def update
  membership = current_account.account_memberships.find_by(user_id: params[:id])
  membership.update(owner: true)
end
<%= link_to "Owner", account_membership_path(user), {
  class: "icon icon-owner-upgrade",
  method: :patch,
} %>