Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用RubyOnRails SQLite3适配器时出现另一个无法识别的令牌错误_Ruby On Rails_Ruby_Sqlite - Fatal编程技术网

Ruby on rails 使用RubyOnRails SQLite3适配器时出现另一个无法识别的令牌错误

Ruby on rails 使用RubyOnRails SQLite3适配器时出现另一个无法识别的令牌错误,ruby-on-rails,ruby,sqlite,Ruby On Rails,Ruby,Sqlite,我正在构建一个简单的Rake任务,将新记录从外部文本文件移动到Rails模型中。任务始终失败,如下所示: SQLite3::SQLException: unrecognized token: "'": SELECT "products".* FROM "products" WHERE "products"."name" = 'sensitive_data_string_goes_here' existing_pn_record = Product.where('name' => pn)

我正在构建一个简单的Rake任务,将新记录从外部文本文件移动到Rails模型中。任务始终失败,如下所示:

SQLite3::SQLException: unrecognized token: "'": SELECT "products".* FROM "products" WHERE "products"."name" = 'sensitive_data_string_goes_here'
existing_pn_record = Product.where('name' => pn)
Rails find命令的编码如下:

SQLite3::SQLException: unrecognized token: "'": SELECT "products".* FROM "products" WHERE "products"."name" = 'sensitive_data_string_goes_here'
existing_pn_record = Product.where('name' => pn)

这似乎很简单。有什么提示吗?

您实际上需要传递一个
符号,而不是
字符串
在ruby
1.8
Product.where(:name=>pn)


在ruby
1.9+
中,
Product.where(名称:pn)

尝试
Product.where(名称:'pn')
谢谢@SamD,但结果相同。仅供参考,使用Ruby 1.9.3.p448。pn是一个变量(随着从文本文件读取的每个新记录而改变值)。然后执行
Product.where(“name=?”,params[:pn])
interest。Rake不将参数识别为参数。仅供参考,数据不是来自表单提交,而是来自文本文件。谢谢@MurifoX,但结果相同。使用Ruby 1.9.3,pn=变量,而不是常量字符串。仅供参考。行动,我的错,删除了pn周围的引号。