【发布时间】:2016-01-14 20:42:54
【问题描述】:
我正在学习在 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)
提前谢谢你。
编辑
有人问我我的 route.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
【问题讨论】:
-
您的路线可能有错误?你是如何定义路线的?
-
另一个指针:Rails 生成路径辅助方法。在您的情况下,我希望
hello_demo_path(21)可用。rake routes将列出它们(不带 _path 后缀)。 -
@Raffael 我将我的 route.rb 文件添加到问题中。
标签: ruby-on-rails ruby ruby-on-rails-4 haml