簡體   English   中英

Rails:具有has_and_belongs_to_many關聯的SQLite3 :: SQLException

[英]Rails : SQLite3::SQLException with has_and_belongs_to_many Association

我的應用程序出現新問題。

我嘗試建立這樣的多對多關系: http ://guides.rubyonrails.org/association_basics.html#the-has_and_belongs_to_many-association在這里,我使用has_and_belongs_to_many來“連接”兩個表:User&Pins

但是,當我嘗試計算用戶的引腳數時,我得到了這個錯誤。

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

謝謝 ! =)

最好。

如果使用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中的double確實確實很奇怪,並且我不確定它是否以某種方式加劇了問題-聯接表不應該命名為pins_users嗎? 您確定針腳名稱正確嗎?如果不是針腳的復數,針腳是什么? 如果您絕對必須這樣做,則可以為此添加自定義復數形式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM