我有一个项目,iOS应用程序发送带有多标记(字符串)参数的发布请求。 标记以日语编写。
请求被发送到rails项目上的ruby,它返回文章匹配发送的标签(和查询)。
在rails项目文章和标签上有has_and_belong_to_many关系。
在本地服务器上运行时,rails项目会返回正确的结果(通过rails服务器命令),但在部署到Heroku时它无法正常工作。
防爆。
TagA和TagB作为参数发送。
结果文章应包含TabA和TagB,但某些返回的文章只包含TagB。
它似乎在某些标签上正常工作。
我该如何正常工作?
static func serverWhere( tags: [String] , completion: (articles: [FeedArticle]) -> () ) {
Alamofire.request(.POST, Constants.domain + "/amsarticles/tags", parameters: ["tags": tags ], headers: Constants().authHeader() )
.responseJSON { response in
switch response.result {
case .Success:
if let value = response.result.value {
print(response.response?.statusCode)
let json = JSON(value)
var articles: [FeedArticle] = []
for articleJson in json.arrayValue {
if let article = deserialize(articleJson) {
articles.append(article)
}
}
dispatch_async(dispatch_get_main_queue(), {
completion(articles: articles )
})
}
case .Failure(let error):
print(response.response?.statusCode)
print(error)
completion(articles: [])
}
}
}
def tags
limit = 300
required_tags = params[:tags]
articles = Amsarticle.joins(:tags).order("id DESC").limit( limit )
.where(tags: { name: required_tags })
.group('amsarticles.id')
.having('count(*) = ?', required_tags.count)
distributable_articles = articles.where("distribute = ?", true )
render status: 200, json: distributable_tag_relation_merged_articles_json( distributable_articles )
end