0

我的应用程序遇到了一个新问题。

我尝试建立这样的多对多关系:http: //guides.rubyonrails.org/association_basics.html#the-has_and_belongs_to_many-association 在这里我使用 has_and_belongs_to_many 来“连接”两个表:用户和引脚

但是当我尝试计算用户的引脚数时出现此错误。

Showing /app/views/shared/_users_pins.html.erb where line #4 raised:

SQLite3::SQLException: no such column: pins_users.user_id: SELECT COUNT(*) FROM "pins" INNER JOIN "pins_users" ON "pins"."id" = "pins_users"."pins_id" WHERE "pins_users"."user_id" = 102

line 4 :  <%= @user.pinss.count %>

(我需要使用别针而不是别针,因为否则轨道会搜索类别针而不是别针,但它太脏了:'()

这是我的模型:

class Pins < ActiveRecord::Base
  attr_accessible :describe, :title, :url_img
  has_and_belongs_to_many :users
end

class User < ActiveRecord::Base
  attr_accessible :name, :email, :password, :password_confirmation, :team_id
 has_and_belongs_to_many :pinss
end

谢谢 !=)

最好的。

4

1 回答 1

0

如果你使用 habtm,你需要手动创建一个连接表,在你的情况下,pins_users 正好有两列,pins_id 和 user_id。

http://guides.rubyonrails.org/association_basics.html#the-has_and_belongs_to_many-association

因为您的错误表明 pins_users 中缺少 user_id(没有这样的列:pins_users.user_id)

ps:pins 中的双 s 确实很奇怪,我不确定它是否以某种方式增加了问题 - 那么连接表不应该命名为 pinss_users 吗?您确定将其固定为正确的名称吗?如果不是 pin 的复数,那么 pin 是什么?如果您绝对必须这样做,您可以为此添加自定义复数。

于 2012-07-26T12:24:19.530 回答