我有两个模型,消息和用户。Message 有两个 User 对象,user_1 和 user_2。
class Message < ActiveRecord::Base
attr_accessible :user_1, :user_2
belongs_to :user_1, :class_name => "User"
belongs_to :user_2, :class_name => "User"
end
class User < ActiveRecord::Base
attr_accessible :email, :password
has_many :message, dependent: :destroy, :finder_sql => 'SELECT * FROM messages where (user_1_id = #{id} or user_2_id = #{id})'
end
当我尝试删除 User 对象时,出现以下错误:
用户控制器中的 ActiveRecord::StatementInvalid#destroy
SQLite3::SQLException:无法识别的令牌:“#”:SELECT * FROM messages where (user_1_id = #{id} or user_2_id = #{id})
错误消息看起来很简单,但我认为 # 是正确的语法。我正在使用 Rails 3.2.3。谢谢!