我的应用程序出现了新问题。
我尝试像这样建立多对多的关系:http://guides.rubyonrails.org/association_basics.html#the-has_and_belongs_to_many-association 在这里,我使用has_and_belongs_to_many“连接”两个表:User&针脚
但是当我尝试计算用户的引脚数时,我收到此错误。
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 %>
(我需要使用pin而不是pin,因为否则rails会搜索Pin类而不是Pins,但它太脏了:'()
这是我的模特:
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
谢谢! =)
最佳。
答案 0 :(得分:0)
如果你使用habtm,你需要手动创建一个连接表 pinss_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:pin中的双s确实很奇怪,我不确定它是否会以某种方式增加问题 - 不应该将连接表命名为pinss_users吗?你确定它是正确的名称 - 如果不是多个引脚,那么什么是引脚?如果你绝对必须这样做,你可以添加一个自定义复数。