我知道 rails 使用控制器操作样式的 url www.myapp.com/home/index
,例如
我想在我的 rails 应用程序上有一个这样的 url,www.myapp.com/my_page_here
这可能吗?如果可以,我会怎么做?
问问题
7181 次
2 回答
6
您只需在文件中使用任何或块的get
外部:resources
namespace
routes.rb
get 'my_page_here ', :to => 'home#index'
假设您使用的是 Rails 3+,请不要使用match
. 这可能很危险,因为如果页面接受来自表单的数据,它应该接受 POST 请求。match
将允许对具有副作用的操作进行 GET 请求 - 这不好。
尽可能使用get
,put
或post
这些变体。
要获得路径助手,请尝试:
get 'my_page_here ', :to => 'home#index', :as => :my_page
这样,在您看来,my_page_path
将等于http://{domain}/my_page_here
于 2012-09-07T10:29:06.403 回答
4
在这种情况下,您只需要制定一个路由规则来匹配该 url,它将类似于
match 'my_page_here' => 'your_controller#your_action'
您的控制器和操作将指定该页面的行为
所以你可以做
match 'my_page_here' => 'home#index'
或者
get 'my_page_here', :to => 'home#index'
正如其他回复中所建议的那样。
如果您有这样的控制器,则用于家庭控制器中的索引操作
于 2012-09-07T10:25:56.433 回答