如何在link_to url中修复丢失的正斜杠

时间:2016-01-14 20:42:55

标签: ruby-on-rails ruby ruby-on-rails-4 haml

我正在学习在rails 4中使用haml。

我将此行添加到我的'demo / index.html.haml'文件中:

= link_to 'Hello with parameters',:controller => 'demo', :action => 'hello', :id=> 21, :page => 5 

生成的html输出缺少字符串hello和21之间的斜杠,如下所示:

<a href="/demo/hello21?page=5">Hello with parameters</a>

我不确定为什么正斜杠丢失。

我的Gemfile有这个:

 gem 'haml-rails' 

请告诉我是否可以提供更多信息以帮助解决此问题。

我正在跑步:

  • windows 7
  • ruby​​ 2.1.5p273(2014-11-13修订版48405)[i386-mingw32]
  • Rails 4.2.2
  • haml(4.0.7)
  • haml-rails(0.9.0)
  • html2haml(2.0.0)

提前谢谢。

修改

我被问及我的路线.rb:

Rails.application.routes.draw do
  root 'demo#index'
  # Default Route
  match ':controller(/:action(:id(.:format)))', :via => :get
end

当我运行rake路线时,我得到:

$ rake routes
DL is deprecated, please use Fiddle
Prefix Verb URI Pattern                           Controller#Action
  root GET  /                                     demo#index
       GET  /:controller(/:action(:id(.:format))) :controller#:action

1 个答案:

答案 0 :(得分:1)

您的路线中已丢失斜线。在:action之后添加它:

match ':controller(/:action/(:id(.:format)))', :via => :get