我刚刚开始学习Laravel框架,并且遇到了路由问题。 唯一正在工作的路线是Laravel开箱即用的默认主路线。 我在Windows上使用WAMP,它使用PHP 5.4.3和Apache 2.2.22,并且我也启用了mod_rewrite,并从application.phpconfiguration文件中删除了'index.php',留下一个空string。 我创build了一个名为User的新控制器: class User_Controller extends Base_Controller { public $restful = true; public function get_index() { return View::make('user.index'); } } 我已经创build了一个视图文件在应用程序/视图/用户/所谓的index.php与一些基本的HTML代码,并在routes.php我已经添加了以下内容: Route::get('/', function() { return View::make('home.index'); }); Route::get('user', function() { return View::make('user.index'); }); 在浏览器中访问根目录( http://localhost/mysite/public )时工作正常的第一条路线,但当我尝试去http://localhost/mysite/public/user第二条路线时,我得到404 Not Found错误。 为什么会这样呢?
我的Express应用程序上有一个路线,如下所示: app.get('/:id', function (request, response) { … }); 该ID将始终是一个数字。 但是,此时此路线与其他事物相匹配,例如/login 。 我想我想从这两件事情: 如果ID是一个数字,只使用这个路由 只有在没有已经定义的特定参数的路由时(例如与/login冲突)。 可以这样做吗?
我在一个拥有2种语言的站点上使用Symfony 2,我想根据用户语言环境语言来改变路由模式! 例: user_login_en: pattern: /en/user/login.html defaults: { _controller: SfErrorsAppBundle:User:login, _locale: en } user_login_fr: pattern: /fr/utilisateur/connexion.html defaults: { _controller: SfErrorsAppBundle:User:login, _locale: fr} 在模板里面,这并不难,我只需要将$ this-> get('session') – > getLocale()从控制器传递给模板。 为了工作,我必须打电话给我的路线: $router->generate('user_login_'.$locale, array()); 但在我的布局,我当然有一个菜单,和侧链,有链接…所以我想要获取localevariables来使用它! 所以我的问题很简单:如何获得“布局”模板内的这个variables? 否则,你有任何想法改变模式取决于语言? 原因是我想为所有用户提供美丽的路线,无论他们是英语还是法语…还有一个search引擎优化的原因!
在过去的几年里,REST一直是如此stream行的stream行语,当ASP.NET MVC推出时,每个人都将REST与ASP.NET MVC相关联。 我也因为缺乏知识而哗然,我对REST的理解就是: REST = SEO /用户友好的url 但是更多。 而且我对REST的了解越多,就越less地将ASP.NET MVC与它联系起来。 它比REST更接近WebForms。 所以事实上恰恰相反: REST≠SEO /用户友好的URL 并且将您的默认路由定义为controller/action/id 绝对不是RESTful。 让我用这个理解来解释我的问题。 如果ASP.NET MVC是RESTful的,那么我们不会将默认路由定义为: controller/action/id 反而 resources/id /* that would have to use HTTP methods GET/PUT/POST/DELETE */ 所以,而不是(也提供请求path的HTTP方法): /product/index/1 /* GET */ /product/create /* POST */ /product/delete/1 /* POST */ /product/update/1 /* POST */ 它应该是(这里也提供了HTTP方法) /products/1 /* GET */ […]
我有一个名为书籍的资源。 它在我的路由文件中被正确地列为资源。 我有一个新的行动,给新的观点的标准: @book = Book.new 在模型上,有一些由存在validation的属性,所以如果保存操作失败,将会产生错误。 在我的控制器中: @book = Book.create … # some logic if @book.save redirect_to(@book) else render :new end 这是非常标准的; 以及使用render:new的原理是这样的,这个对象被传回到视图,错误可以被报告,重新填写表单等等。 这有效,除了每次我被发回到表单(通过渲染:新),我的错误显示,但我的url是INDEXurl,这是 /books 而不是 /books/new 我是从哪里开始的。 我看过其他几个关于这个问题的post,但没有答案。 至less,人们会认为它将着陆在/书/创build,我也有一个查看文件(在这种情况下相同的新)。 我可以做这个: # if the book isn't saved then flash[:error] = "Errors!" redirect_to new_book_path 但是,然后@book数据丢失,以及错误信息,这是forms和行动的整个点等。 为什么渲染:新登陆我在/书,我的索引行动,通常情况下,该URL调用INDEX方法,其中列出所有的书籍?
如何路由/foo在Rails中显示/public/foo.html ?
我得到一个奇怪的错误在我的networking服务器看似每个文件,但.aspx文件。 这是一个例子。 只要将“/robots.txt”replace为任何.jpg名称或.gif或其他内容即可,您将会看到: path“/robots.txt”的控制器未find或未实现IController。 我相信这是如何设置路由,但我不知道我需要做什么。 另外,这是一个混合的MVC和WebForms网站,如果这有所作为。
我想我的url使用短划线-而不是下划线_作为单词分隔符。 例如controller/my-action而不是controller/my_action 。 我对两件事感到惊讶: Google等人。 继续区分它们。 Ruby on Rails在路由中没有一个简单的全局configuration参数来映射到_ 。 还是呢? 我最好的解决scheme是使用:as或命名的路线。 我的想法是修改Rails路由来检查该全局configuration,并在调度到控制器操作之前更改为_ 。 有没有更好的办法?
我的Angular应用程序允许用户加载一个项目,当发生这种情况时,我想设置一个查询string,其中包含项目的Id,以便如果用户刷新页面(或者想要链接到),URL已经设置(如果Id存在于$ routeParams中,则已经有加载项目的代码)。 我怎样才能设置该查询参数,而不会导致路由? 如果路由发生,页面上还有其他的东西会被重置(包括一个需要重新载入所有数据的插件),所以重要的是查询参数的改变。 总之,当我加载项目123时,我想要发生的是URL从以下变化: www.myurl.com/#/Items 至: www.myurl.com/#/Items?id=123 没有任何路由发生。 什么是最好的方法来做到这一点?
我目前正试图开始与阿卡,我面临一个奇怪的问题。 我的演员有以下代码: class AkkaWorkerFT extends Actor { def receive = { case Work(n, c) if n < 0 => throw new Exception("Negative number") case Work(n, c) => self reply n.isProbablePrime(c); } } 这就是我开始工作的方式: val workers = Vector.fill(nrOfWorkers)(actorOf[AkkaWorkerFT].start()); val router = Routing.loadBalancerActor(SmallestMailboxFirstIterator(workers)).start() 这就是我如何closures一切: futures.foreach( _.await ) router ! Broadcast(PoisonPill) router ! PoisonPill 现在会发生什么,如果我发送工作人员消息与n> 0(没有例外抛出),一切工作正常,应用程序正常closures。 但是,只要我发送一条消息导致exception,应用程序就不会终止,因为仍然有一个actor正在运行,但我无法弄清楚它来自哪里。 如果有帮助,这是所讨论的线程的堆栈: […]