Я новичок в scala. Что я делаю, пытается сделать твиттер-бота, который собирает сообщения из Reddit и публикует их в Twitter. У меня есть контроллеры, и мне нужно передать массив с отмеченными сообщениями reddit, которые пользователь хочет чирикать, От одного контроллера к другому. Я пытался использовать Singleton и кэш, но я не знаю, почему это не работает для меняКак я могу передать Array от одного контроллера к другому
RedditController:
var pickedToTwitter : List[RedditJsonData] = _
def pickedRedditsPost = Action { implicit request =>
redditsForm.bindFromRequest.fold(
formWithError => {
formWithError.errors.foreach(er => Logger.debug(er.message))
Ok(views.html.main("asd")(Html("error")))
},
goodOne => {
sessionCache.set("1",pickedToTwitter = redditsJson.filter(el => goodOne.redditsList(redditsJson.indexOf(el)).checked))
//Ok(views.html.main("asd")(Html(pickedToTwitter.mkString)))
Redirect("/redditsSend")
}
)
}
TwitterController
val tweet : Option[List[RedditJsonData]] = sessionCache.get[List[RedditJsonData]]("1")
def send = Action.async { request =>
//for(i <- 0 to tweet.toList.length) {
val data = Map(
"status" -> "asf"
)
var rt: RequestToken = new RequestToken(request.session.get("token").get, request.session.get("secret").get)
ws.url("https://api.twitter.com/1.1/statuses/update.json?status=" + tweet.get(0).url).sign(OAuthCalculator(KEY, rt)).post("ignored").map(response => {
Ok(views.html.main("asd")(Html(response.body)))
//Redirect(response.body)
})
//}
}
Я не понимаю, что вы пытаетесь сделать. Контроллер A получает запрос. Затем он создает некоторый массив, а затем вы хотите кэшировать его, чтобы к нему мог получить доступ другой более поздний запрос, поступающий на ControllerB? – mfirry
как вам удалось получить сеансовый кеш? Введенный? – sascha10000
@mfirry Да, у меня есть массив reddits, и я хочу передать этот массив другому контроллеру, чтобы я мог чирикать, что reddits. – neckobik