2014-02-05 52 views
0

爲什麼爲什麼ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:near「)」:語法錯誤:INSERT INTO 「user_friendships」()VALUES()爲什麼ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:near「)」:語法錯誤:INSERT INTO「user_friendships」()VALUES()

當試圖測試:

$紅寶石-I試驗測試/單位/ user_friendships_test.rb

require 'test_helper' 

class UserFriendshipsTest < ActiveSupport::TestCase 
should belong_to (:user) 
should belong_to (:friend) 

test "that creating a frinedship works without raising an exception" do 

    assert_nothing_raised do 
     UserFriendship.create user: users(:a), friend: friends(:b) 
    end 

end 

end 

任何想法?

UPDATE:他是的Schema.rb

create_table "user_friendships", :force => true do |t| 
t.integer "user_id" 
t.integer "friend_id" 
t.datetime "created_at", :null => false 
t.datetime "updated_at", :null => false 
end 

add_index "user_friendships", ["user_id", "friend_id"], :name => "index_user_friendships_on_user_id_and_friend_id" 

create_table "users", :force => true do |t| 
t.string "first_name" 
t.string "last_name" 
t.string "profile_name" 
t.string "email",     :default => "", :null => false 
t.string "encrypted_password",  :default => "", :null => false 
t.string "reset_password_token" 
t.datetime "reset_password_sent_at" 
t.datetime "remember_created_at" 
t.integer "sign_in_count",   :default => 0, :null => false 
t.datetime "current_sign_in_at" 
t.datetime "last_sign_in_at" 
t.string "current_sign_in_ip" 
t.string "last_sign_in_ip" 
t.datetime "created_at",        :null => false 
t.datetime "updated_at",        :null => false 
end 

add_index "users", ["email"], :name => "index_users_on_email", :unique => true 
add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true 

end 
+1

該表中是否有任何列? – tadman

+0

你可以發佈UserFriendship的代碼以及你的數據庫模式嗎? – bridiver

+0

是的,我在該表中有列。我只是用Schema的一部分更新了這篇文章 – Lut

回答

1

我遇到了這個問題,以及部分。這似乎與搞砸軌道命名約定有關。在我的情況下,做「rails g model activity_item」而不是「rails g model activity_items」解決了這個問題。