为什么为什么ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:在“)”附近:语法错误:INSERT INTO“ user_friendships”()VALUES()
尝试测试时:
$ ruby-我测试test / unit / 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
任何想法?
更新:他是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
最佳答案
我也遇到了这个问题。它似乎与搞乱rails命名约定有关。就我而言,执行“ rails g model activity_item”而不是“ rails g model activity_items”解决了该问题。
关于ruby-on-rails - 为什么ActiveRecord::StatementInvalid:SQLite3::SQLException:在“)附近:语法错误:INSERT INTO“user_friendships”()VALUES(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21590720/