Ale*_*lex 5 ruby arrays ruby-on-rails
我通过get发送数据,我需要将它放入一个int数组,用于find.这是我的代码:
@found = Array.new
params['candidate'].each do |c|
@found << c.to_i
end
Run Code Online (Sandbox Code Playgroud)
我的网址看起来像这样
http://localhost:3000/export/candidate?candidate[]=3&candidate[]=4&commit=Export
Run Code Online (Sandbox Code Playgroud)
如果它有任何区别我将它用于此查找
@candidate = Candidate.find(:all, :conditions => ["candidates.id IN ?", @found])
Run Code Online (Sandbox Code Playgroud)
但是目前它没有把它放在一个真正的数组中因为我得到了这个错误
Mysql::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '4)' at line 1: SELECT * FROM `candidates` WHERE (candidates.id IN 4,2)
Run Code Online (Sandbox Code Playgroud)
数组周围缺少括号
谢谢,早上好!
亚历克斯
Gar*_*eth 16
把括号括在你的周围?
@candidate = Candidate.find(:all, :conditions => ["candidates.id IN (?)", @found])
Run Code Online (Sandbox Code Playgroud)
此外,您的第一个代码段可以折叠为:
@found = params['candidate'].map(&:to_i)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13141 次 |
| 最近记录: |