Rails 4.2 更改大蒜.js的路径名



在我的应用程序的Rails 4.1版本中,Garlic.js将我的表单字段保存到localStorage,如下所示:

garlic:www.mydomain.com/posts/new>form>input.post[title]: "d"

然而,当我将应用程序升级到Rails 4.2时,这些路径更改为:

garlic:gsp-staging.premiacapital.com/posts/new>form>input.post[title]:eq(2) "d"

这对我的测试造成了严重破坏(我正在使用路径名来测试localStorage)。知道为什么要附加这个eq(2)吗?

我找到了罪魁祸首。

基本上,在所有以前版本的Rails中,输入行都没有兄弟行:

[
   <input class="span12 garlic-auto-save" id="js_post_title" name="post[title]" type="text">
]

而在Rails4.2中,表单中的输入似乎伴随着许多其他隐藏的输入字段:

[
   <input name="utf8" type="hidden" value="✓" class="garlic-auto-save">,
   <input type="hidden" name="authenticity_token" value="9I6MjfVtm76tXLI4pQjv9/yIhO8jpgg84SZcA/VZGaSkQ9vNqHoz54NYFpYeJLs9Im86hIF2qOBCPXE48YZhKw==" class="garlic-auto-save">,
   <input class="span12 garlic-auto-save" id="js_post_title" type="text" name="post[title]">
]

这意味着Garlic.js中的此方法被触发,因此将eq(2)作为唯一标识符附加到路径名的末尾。

所以我只需要用这个新的唯一标识符更新我的测试,它们都通过了。

最新更新