Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript batman.js向url添加字符的数据路由_Javascript_Ruby On Rails_Ruby On Rails 3_Batman.js - Fatal编程技术网

Javascript batman.js向url添加字符的数据路由

Javascript batman.js向url添加字符的数据路由,javascript,ruby-on-rails,ruby-on-rails-3,batman.js,Javascript,Ruby On Rails,Ruby On Rails 3,Batman.js,我有一个html模板做这个 <ul id="things"> <li data-foreach-thing="Thing.all" data-mixin="animation"> <a data-route="routes.things[thing].new" data-bind="thing.id"></a> </li> </ul> 我不知道它为什么要添加# 我正在使用batman.js0.9和rails

我有一个html模板做这个

<ul id="things">
  <li data-foreach-thing="Thing.all" data-mixin="animation">
    <a data-route="routes.things[thing].new" data-bind="thing.id"></a>
  </li>
</ul>
我不知道它为什么要添加
#

我正在使用batman.js0.9和rails 3.1


如果您能帮我解决这个问题,我们将不胜感激。

这里是对hash-bang URL的一个很好的描述。蝙蝠侠这样做是正常的(几乎所有javascript框架都这样做)。您可以启用“pushstate:true”,这将禁用它(但是,如果您使用的是传统浏览器,它将返回到hash bang)

关于你的batman.js视图没有呈现,我遇到了类似的问题。我的chrome控制台中没有错误,但是没有呈现视图。您需要确保视图具有要附加到的数据产量属性

例如:

<div id="container" data-yield="main">
</div>

摘录自:

现在,当您导航到/#时/常见问题解答/什么是艺术,调度员运行此 带有{questionID:“什么是艺术”}的常见问题解答操作。它还使一个隐含的 调用@render,默认情况下它将在 /views/app/faq.html。视图在主内容中呈现 页面的容器,由设置指定 布局HTML中某个标记上的data yield=“main”。你可以防止 通过在操作中调用@render false,可以实现隐式渲染

您是否正在尝试显示指向该对象的显示操作的链接?如果您是:

<ul id="things">
  <li data-foreach-thing="Thing.all" data-mixin="animation">
    <a data-route="routes.things[thing]" data-bind="thing.id"></a>
  </li>
</ul>
下面是我正在使用的一些代码的示例(数据属性的顺序无关紧要):



下面是对散列式URL的一个很好的描述。蝙蝠侠这样做是正常的(几乎所有javascript框架都这样做)。您可以启用“pushstate:true”,这将禁用它(但是,如果您使用的是传统浏览器,它将返回到hash bang)

关于你的batman.js视图没有呈现,我遇到了类似的问题。我的chrome控制台中没有错误,但是没有呈现视图。您需要确保视图具有要附加到的数据产量属性

例如:

<div id="container" data-yield="main">
</div>

摘录自:

现在,当您导航到/#时/常见问题解答/什么是艺术,调度员运行此 带有{questionID:“什么是艺术”}的常见问题解答操作。它还使一个隐含的 调用@render,默认情况下它将在 /views/app/faq.html。视图在主内容中呈现 页面的容器,由设置指定 布局HTML中某个标记上的data yield=“main”。你可以防止 通过在操作中调用@render false,可以实现隐式渲染

您是否正在尝试显示指向该对象的显示操作的链接?如果您是:

<ul id="things">
  <li data-foreach-thing="Thing.all" data-mixin="animation">
    <a data-route="routes.things[thing]" data-bind="thing.id"></a>
  </li>
</ul>
下面是我正在使用的一些代码的示例(数据属性的顺序无关紧要):



我不知道蝙蝠侠为什么这么做,但是#!被称为hashbang,对SEO非常有用。好吧,这是有意义的,但当我点击我的链接时,它会填充URL,但不会更新我的视图。有什么想法吗?您的javaqscript控制台中有任何错误吗?如果是这样的话,我想看看你下面的问题是什么。我不知道蝙蝠侠为什么这样做,但是!被称为hashbang,对SEO非常有用。好吧,这是有意义的,但当我点击我的链接时,它会填充URL,但不会更新我的视图。有什么想法吗?您的javaqscript控制台中有任何错误吗?如果是这样的话,我试着看看你下面可能有什么问题。我没办法解决。当我期望看到代码时,我只看到href=“#”根本没有模型或id…@AlfredNerstu我们正在迭代部分(需要由控制器填充)。检查各部分是否有任何内容。如果没有,那可能就是你得到一个空白href的原因。我得到了其他数据,比如我的案例中的标题和正文,但没有链接url…我无法让它工作。当我期望看到代码时,我只看到href=“#”根本没有模型或id…@AlfredNerstu我们正在迭代部分(需要由控制器填充)。检查各部分是否有任何内容。如果没有,这可能就是你得到一个空白href的原因。我得到了其他数据,比如我的案例中的标题和正文,但没有链接url。。。