Rails 尝试发送 habtm 模型连接表的 id?
所以我有两个 Rails 模型 - 用户和角色 - 每个模型都用 habtm 和 users_roles 的连接表指定。
当我从用户表单中保存时(该表单具有可供选择的角色的复选框),rails 会尝试手动将一个值插入到连接表的 id 列中。这对我来说没有意义,因为 id 列应该设置为 auto_increment,因此不需要传递给它的值。每当我尝试保存时,都会收到 MySQL 错误。
我错过了什么吗?
谢谢。
So I have two rails models - user and role - each specified with a habtm and a join table of users_roles.
When I save from my user form, which has checkboxes for which roles to choose, rails is trying to manually insert a value into the id column of the join table. This doesn't make sense to me, as the id column should be set to auto_increment and so wouldn't need a value passed to it. Any time I try to save, I get a MySQL error.
Am I missing something?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用 has_and_belongs_to_many 关联,那么您不需要连接表的任何模型,并且连接表不应使用 id 列创建,它必须仅包含 user_id 和 role_id 列:
另请参阅:
if you are using the has_and_belongs_to_many association then you don't need any model for the join table and the join table should not be created with an id column, it has to contain only the user_id and role_id columns:
See also: