我对Ruby on Rails
很陌生,并且一直致力于让应用程序与MySQL一起使用,除了从mysql
加载 Assets 时的一个特定页面之外,一切正常数据库。
我不确定发生了什么,也没有运气修复它。
我在 ubuntu
上运行,使用 passenger 4.0.20
、mysql 2.9.1 gem
、rails 3.0.7
,
在乘客守护进程下或通过严格的 apache 查看页面时,应用程序返回以下内容:
Mysql::Error: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 '== 'assets')' 附近使用的正确语法: SELECT
types.* FROM
typesWHERE (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/