没有将String隐式转换为Integer,打开日期过滤器

时间:2016-03-17 12:20:01

标签: ruby-on-rails json filter opendata

我实际上是尝试使用Json,来自开放数据巴黎,并过滤一些东西。

我可以用这些线创建我想要的东西:

def import 
@result = ''
url = 'http://opendata.paris.fr/api/records/1.0/search/?rows=1000&dataset=arc_innovation&facet=code_postal&facet=commune&facet=etat_1&facet=typologie_carto&facet=type_innovation&facet=image'
response = HTTParty.get(url)
hash = response.parsed_response
hash['records'].each do |record|
  lime = Lime.where(datasetid: record['datasetid'], recordid: record['recordid']).first_or_initialize
  lime.title = record['fields']['nom']
  lime.text = record['fields']['txt_descriptif']
  lime.url = record['fields']['site_internet']
  lime.xy = record['fields']['xy']
  category = category_from_typeinnovation(record['fields']['type_innovation'])
  lime.categories << category unless category.nil?
  if record['fields'].has_key? 'image'
    image_id = record['fields']['image']['id']
    image_filename = record['fields']['image']['filename']
    image_url = "http://opendata.paris.fr/explore/dataset/arc_innovation/files/#{image_id}/download"
    lime.image = image_url
  end

  lime.save
  @result += "imported #{lime.title}\n"
end
render text: @result
end

以下是我的Json看起来如何

"records":[
 {
"fields":{
"commune":"Paris 19e",
"code_postal":75019,
"id_formularie":1,
"etat_1":"existant",
"contact_tel":"01 53 35 50 00",
"xy":[
48.889979,
2.371504
],
"nom":"104",
"txt_descriptif":"Plateforme collaborative qui s’intéresse à la création artistique contemporaine dans toute sa diversité, elle accueille des artistes en résidence et accompagne l’émergence de nouvelles formes d’art avec le Cinq destiné aux pratiques amateurs, la Maison desPetits et un incubateur qui héberge et soutient le développement de start-ups.",
 "type_innovation":"Lieux innovants de la culture et du sport",
},

我尝试按“类型创新”过滤。我不想创建一个包含拥有“type_innovation”的数据的帖子:例如“Lieux innovants de la culture et du sport”。

我试图像这样过滤:

def import 
    @result = ''
    url = 'http://opendata.paris.fr/api/records/1.0/search/?        rows=1000&dataset=arc_innovation&facet=code_postal&facet=commune&facet=etat_1&facet=typologie_carto&facet=type_innovation&facet=image'
response = HTTParty.get(url)
hash = response.parsed_response
hash['records'].each do |record|
  lime = Lime.where(datasetid: record['datasetid'], recordid: record['recordid']).first_or_initialize
  lime.title = record['fields']['nom']
  lime.text = record['fields']['txt_descriptif']
  lime.url = record['fields']['site_internet']
  lime.xy = record['fields']['xy']
  category = category_from_typeinnovation(record['fields']['type_innovation'])
  lime.categories << category unless category.nil?
  if record['fields'].has_key? 'image'
    image_id = record['fields']['image']['id']
    image_filename = record['fields']['image']['filename']
    image_url = "http://opendata.paris.fr/explore/dataset/arc_innovation/files/#{image_id}/download"
    lime.image = image_url
  end
  if record['fields']['type_innovation'] != ['fields']['type_innovation']['Lieux innovants de la culture et du sport']
  lime.save
  @result += "imported #{lime.title}\n"
end
end
render text: @result
end

当我尝试导入时,返回错误。我该如何进行过滤?

0 个答案:

没有答案
相关问题