Turbolinks 5在某些链接上不起作用

时间:2017-06-02 21:46:36

标签: ruby-on-rails-5 turbolinks turbolinks-5

我在这个看似简单的问题上找不到任何答案。在我的rails5应用程序中,一些链接确实使用turbolinks来加载新页面。但有些人只是推出了整页重装。

该链接没有附加js,链接上没有禁用turbolink。

此链接使用turbolinks

json​Object(with:​options:​)

在行动中

Dictionary

此链接

String

在行动中

import Foundation

let jsonString = "{\"password\" : \"1234\",  \"user\" : \"andreas\"}"

if let data = jsonString.data(using: String.Encoding.utf8) {
    do {
        let jsonDictionary = try JSONSerialization.jsonObject(with: data, options: []) as? [String : String]
        print(String(describing: jsonDictionary)) // prints: Optional(["user": "andreas", "password": "1234"])
    } catch {
        // Handle error
        print(error)
    }
}

所以,没有明确阻止turbolink工作。

为什么?

1 个答案:

答案 0 :(得分:3)

问题是您的链接中的href包含句点(.)。

Turbolinks只会处理它认为是HTML的链接。也就是说,没有扩展名的那些(例如/post/1234),或者在最后一个时期之后具有html / htm / xhtml的那些(例如/post/1234.html )。在您的情况下,执行整页加载的链接以:/30.335098600000038结束。 Turbolinks不会将此视为HTML资源,因此无法处理它。

要解决此问题,我建议对可能包含句点的参数使用查询字符串。例如,为了整理您的一个链接,您可以尝试:

qimen/hour/chart?time=2017-06-03T15:27:48+03:00&city=St.%20Petersburg&longitude=30.335098600000038