在rails中使用find进行模糊查询时,出现了malformed format string(输入为字符)或非法字符(输入为数字)的提示。
(1) @vendors = Vendor.find(:all,:conditions=>[@sql])
(2) @vendors = Vendor.find_by_sql("select * from vendor where "+@sql)
错误发生在按(1)方式查询过程中,采用(2)方式可以避免这个错误,这间接说明了find_by_sql确实相当不安全。
查阅了一下资料,对于这个问题的说法如下:Rails uses sprintf (%) on the inside. So, Escape your % with %,因此只要将模糊查询的地方一个百分号全部换成两个便可以解决问题。
分享到:
相关推荐
在Rails框架中处理文件上传时,经常会遇到一个问题,那就是当用户尝试上传包含中文名称的文件时,文件名可能会出现乱码。这个问题主要是由于字符编码不兼容导致的。Rails默认使用UTF-8编码,但文件系统或者某些外部...
标题 "rails查询学习笔记" 涉及的是Ruby on Rails框架中的数据库查询技术。Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发Web应用更加高效...
在开发Web应用时,Rails框架和MySQL数据库的集成是一个常见的选择。然而,有时在尝试连接Rails应用到MySQL数据库时,可能会遇到一些问题。本篇文章将深入探讨这些常见问题及其解决方案。 首先,Rails与MySQL的连接...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...
标题中的“Rails的中文乱码问题”涉及到的是在使用Ruby on Rails框架开发Web应用时,遇到的中文字符编码不正确的问题。Rails是一个基于Ruby语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式。在...
在 Rails 2.x 中,许多使用哈希参数的查询方法如 `:conditions`, `:include`, `:joins` 等在 Rails 3.1 中被标记为过时,虽然在3.1版本中仍然可用,但计划在 Rails 3.2 中完全移除。这些变化主要是为了引入一个新的...
在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...
本文介绍如何开始使用Ruby on Rails,读完本文后,您将学到: 如何安装Rails,创建Rails应用,如何连接数据库; Rails应用的基本文件结构; MVC(模型,视图,控制器)和REST架构的基本原理; 如何快速生成Rails应用...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架,它遵循敏捷开发的理念,致力于提高开发效率和代码的可读性。在Rails 3.1版本中,引入了许多重要更新和改进,...
rails-assets, 在 Rails 中,资产管理的解决 Rails 资产 Bundler 到 Bower 代理本自述文件涉及项目的开发方面。 访问站点了解如何在你的应用程序中使用 Rails 资产。 插件开发设置git clone git@github.com:tenex/r
1. **生成资源(Generating Resources)**:使用`rails generate`命令可以快速创建模型、控制器、视图等文件,如`rails generate scaffold Post title:string content:text`会生成一个名为Post的资源,包含相关的...
7. **Helper方法**:Rails提供了许多内置助手方法,帮助开发者在视图中处理复杂的逻辑和呈现数据。 8. **ActiveSupport库**:包含许多有用的工具方法和实用程序,如时间格式化、字符串操作等,大大提升了开发效率。...
在Ruby on Rails开发过程中,开发者可能会遇到各种各样的“灵异”错误,这些错误往往令人困惑,有时甚至让人感到无从下手。Rails框架虽然强大且灵活,但其复杂性也意味着可能出现各种意料之外的问题。以下是一些常见...
2. 创建资源:使用`rails generate controller Posts`生成控制器,再用`rails generate scaffold Post title:string content:text`生成模型和相关的控制器、视图及路由。 3. 迁移数据库:编写迁移文件,更新数据库表...
例如,在示例代码中,`GET /users/1` 请求会映射到 `UsersController` 的 `show` 方法,并将ID作为参数传递给方法。 ```ruby def show @user = User.find(params[:id]) respond_to do |format| format.html ...
此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
在Rails开发中,分页是常见的功能,用于处理大量数据并优化用户体验。当我们从数据库查询数据时,一次性加载所有记录可能会导致性能问题,尤其是当数据量庞大时。因此,分页成为了解决这一问题的关键技术。这篇关于...
Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...
Rails是Ruby on Rails框架的简称,它是一种基于Ruby语言的开源Web开发框架,以其MVC(Model-View-Controller)架构而闻名,旨在简化Web应用的开发过程。在早期的Rails版本中,Mongrel是一个常用的HTTP服务器,用于...