我知道rails使用控制器动作样式的URL,例如www.myapp.com/home/index
我希望在我的rails应用程序上有这样的URL,www.myapp.com/my_page_here
这是可能的,如果是这样,我将如何解决这个问题?
答案 0 :(得分:6)
您只需在get
文件中的resources
或namespace
块之外使用routes.rb
:
get 'my_page_here ', :to => 'home#index'
假设您使用的是Rails 3+,请不要使用match
。它可能很危险,因为如果页面接受表单中的数据,它应该接受POST请求。 <{1}}允许对带有副作用的动作发出GET请求 - 这不是好事。
始终尽可能使用match
,get
,put
或这些变体。
要获取路径助手,请尝试:
post
这样,在您的观看中,get 'my_page_here ', :to => 'home#index', :as => :my_page
将等于my_page_path
答案 1 :(得分:3)
您只需要制定路由规则以匹配该网址 在这种情况下,它将类似于
match 'my_page_here' => 'your_controller#your_action'
您的控制器和操作将指定该页面的行为
所以你可以做到
match 'my_page_here' => 'home#index'
或
get 'my_page_here', :to => 'home#index'
正如其他回复中所建议的那样。
如果您有这样的控制器,用于家庭控制器中的索引操作