php - 使用 mysql 的 Rails 应用程序 - 语法错误仅适用于 mysql 而不是 sqlite?

标签 php mysql ruby-on-rails ruby sqlite

我对Ruby on Rails很陌生,并且一直致力于让应用程序与MySQL一起使用,除了从mysql加载 Assets 时的一个特定页面之外,一切正常数据库。

我不确定发生了什么,也没有运气修复它。

我在 ubuntu 上运行,使用 passenger 4.0.20mysql 2.9.1 gemrails 3.0.7

在乘客守护进程下或通过严格的 apache 查看页面时,应用程序返回以下内容:

Mysql::Error: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 '== 'assets')' 附近使用的正确语法: SELECTtypes.* FROMtypesWHERE (type_for == ' Assets ')

提取的源代码(第 #52 行附近):

49:   </div>
50:   <div class="field">
51:     <%= f.label :asset_type_id %><br />
52:     <%= f.select :asset_type_id, Type.where("type_for == 'assets'").collect{|u| [ u.name, u.id ]} , { :include_blank => true }, {}  %>    
53:   </div>
54:   <div class="field">
55:     <%= f.label :asset_status_id %><br />  

app/views/assets/_form.html.erb:52:in `block in_app_views_assets__form_html_erb___1678548858904611904_30514700_2370109183913626002'
app/views/assets/_form.html.erb:1:in         `_app_views_assets__form_html_erb___1678548858904611904_30514700_2370109183913626002'
app/views/assets/new.html.erb:3:in `_app_views_assets_new_html_erb___211939086717483877_30551560__3850816556217762359'

我已经尝试完了所有可能的事情,但不太确定该去哪里。现在任何帮助都会很棒。

最佳答案

您必须从第 52 行删除 == 并仅替换为 =

52:     <%= f.select :asset_type_id, Type.where("type_for = 'assets'").collect{|u| [ u.name, u.id ]} , { :include_blank => true }, {}  %>    

关于php - 使用 mysql 的 Rails 应用程序 - 语法错误仅适用于 mysql 而不是 sqlite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23274300/

相关文章:

mysql - 如何提高这个查询的执行速度

javascript - form_with 不作为 AJAX 提交

ruby-on-rails - 太多连接会重置异常错误 - Mechanize in Ruby

php - 由于单引号无法将字符串插入数据库

php - 启用 OCS Inventory WebService 接口(interface)以查询 Assets 数据

php - 如何使用 Symfony 和 Doctrine Query Builder 执行连接查询

php - 使用 php 和 mysql 导出生成的 excel 文件大小非常大

php - 在按值分配的情况下,codeigniter 中的事件记录

php - 如何使用 PHP 获取文档的内容并上传到 Mysql blob 字段?

ruby-on-rails - 等待时间后 Sidekiq 排队作业