Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails的“DB-无此类列”错误已通过多个关系_Ruby On Rails_Ruby_Many To Many_Nested Attributes - Fatal编程技术网

Ruby on rails Rails的“DB-无此类列”错误已通过多个关系

Ruby on rails Rails的“DB-无此类列”错误已通过多个关系,ruby-on-rails,ruby,many-to-many,nested-attributes,Ruby On Rails,Ruby,Many To Many,Nested Attributes,我为我正在创建的rails应用程序创建了一个has_many:through关系。但是,我无法为多对多关系设置嵌套属性 我的模型如下: 第1.rb条 但是,我得到了一个错误: SQLite3::SQLException:没有这样的列:article\u tags.article\u id:选择标记。*从标记内部连接article\u tags ON tags.id=article\u tags.tag\u id,其中article\u tags.article\u id=1 这个问题解决了 对于

我为我正在创建的rails应用程序创建了一个has_many:through关系。但是,我无法为多对多关系设置嵌套属性

我的模型如下:

第1.rb条

但是,我得到了一个错误: SQLite3::SQLException:没有这样的列:article\u tags.article\u id:选择标记。*从标记内部连接article\u tags ON tags.id=article\u tags.tag\u id,其中article\u tags.article\u id=1

这个问题解决了

对于任何需要了解的人:

必须在迁移和架构中手动添加外键。我加上去了,瞧!它起作用了

感谢丹·里德的帮助

您的ArticleTag类不正确。所属的关联应为单数

class ArticleTag < ActiveRecord::Base
  belongs_to :article
  belongs_to :tag
end
您的ArticleTag类不正确。所属的关联应为单数

class ArticleTag < ActiveRecord::Base
  belongs_to :article
  belongs_to :tag
end

在这种情况下,您必须使用has\u和\u-allown\u-to\u-many。

在这种情况下,您必须使用has\u和\u-allown\u-to\u-many。

谢谢,我做了更改,但现在错误已更改为DB-error。您可以发布文章标签表的数据库架构吗?外键应该是article_id和tag_id,但我猜你有复数形式。我会的,但是我是新手,article_tags表的模式是哪个文件?您指的是迁移吗?迁移或db/schema的article_tags部分。RBArticle_tags模式只创建了_at并更新了_at字段:谢谢,我做了更改,但现在错误已更改为db错误。您可以发布article_tags表的数据库模式吗?外键应该是article_id和tag_id,但我猜你有复数形式。我会的,但是我是新手,article_tags表的模式是哪个文件?您是指迁移吗?迁移或db/schema的article_tags部分。RBArticle_tags架构仅创建了_at并更新了_at字段:
class ArticleTag < ActiveRecord::Base
 belongs_to :article
 belongs_to :tag
end
- @article.tags.each do |t|
  = t.name
class ArticleTag < ActiveRecord::Base
  belongs_to :article
  belongs_to :tag
end