在RubyonRails3中转义文本字段中的单引号

在RubyonRails3中转义文本字段中的单引号,ruby,ruby-on-rails-3.2,apostrophe,Ruby,Ruby On Rails 3.2,Apostrophe,我遇到了一个问题,我的应用程序应该能够使用撇号将用户添加到数据库中,例如: 名字,我是astname@example.com或杉木的名字。lastname@example.com u'ser.name或user.n'ame 撇号可以存在于用户名称中的任何位置 添加用户有两种方式:通过电子邮件或用户名 是否可以按上述格式添加用户?是否有任何方法可以忽略ERB或应用程序中任何其他地方文本/输入字段中的撇号 我正在用错误消息更新此帖子: 用户处理控件创建为HTML 参数:{utf8=>a,authen

我遇到了一个问题,我的应用程序应该能够使用撇号将用户添加到数据库中,例如:

名字,我是astname@example.com或杉木的名字。lastname@example.com

u'ser.name或user.n'ame

撇号可以存在于用户名称中的任何位置

添加用户有两种方式:通过电子邮件或用户名

是否可以按上述格式添加用户?是否有任何方法可以忽略ERB或应用程序中任何其他地方文本/输入字段中的撇号

我正在用错误消息更新此帖子:

用户处理控件创建为HTML 参数:{utf8=>a,authenticity_token=>pnn4bo6ecfsmfqtm38ecb2f11acnbeb5mrbgpgvby2s=,user=>{email=>,fullname_login=>a'pple.mac,password=>[FILTERED]},commit=>Create user} 在58毫秒内完成500个内部服务器错误 ActiveRecord::Statement无效的PG::错误:错误:位于或靠近PPE的语法错误 第1行:…来自users.fullname\u登录为'a'pple.mac'的用户。。。 ^ :选择users.*从users.fullname\u登录i的用户,如'a'pple.mac'限制1: app/models/user.rb:38:在“不区分大小写”中,通过全名登录查找 app/controllers/users\u controller.rb:26:in'create'
查看您的错误,我猜您正在以类似的方式搜索全名\u登录:

User.where("fullname_login ILIKE '#{params[:fullname_login]}'")
这是非常糟糕的,因为。您应该传递数组或散列,而不是该表单,这样Rails可以自动转义SQL值:

User.where(["fullname_login ILIKE ?", params[:fullname_login]])

你到底有什么问题?在尝试创建电子邮件/用户名中带有撇号的用户时,您是否遇到任何错误?@depa请检查我的编辑。您也应该编写操作的源代码