任何人都可以告诉我为什么在rails中渲染页面时,例如:
render 'controller/action'
网址显示
/domain/controller
而不是
/domain/controller/action
显示了正确的页面,但网址只是控制器。
这是我的应用程序中的某个错误吗?
例如,如果我这样做:
render 'users/show'
然后会显示用户显示页面,但网址将是:
/mydomain/users
而不是我期望的:
/mydomain/users/show
答案 0 :(得分:0)
这是因为Rails广泛使用REST进行URL路由。
例如:
当您的应用程序收到GET users/1
请求时,系统会引用routes.rb
以找出相应的controller
和action
。
假设您的路径文件包含
get '/users/:id', to: 'users#show'
然后,您的请求将由show
控制器的users
操作处理。
有关在rails中路由的更多信息,请参阅Guide.
编辑:
要回答您的问题why doesn't the "show" action appear in the url
,
Rails应用程序遵循REST架构约束,称为RESTful路由,使用HTTP谓词和控制器操作的URL组合定义