2017-02-22 81 views
0

中轨呈现页面时,为什么谁能告诉我,例如:渲染页面显示右页,但URL不包括行动

render 'controller/action' 

的URL显示

/domain/controller 

代替

/domain/controller/action 

右边的页面显示,但url只是控制器。

这是一个错误,我在我的应用程序的某个地方?

例如如果我这样做:

render 'users/show' 

那么用户显示页会显示出来,但网址是:

/mydomain/users 

什么,而不是我所期望的:

/mydomain/users/show 
+0

我觉得你有点困惑,你可以发布你的路线和控制器? – rogelio

+0

肯定的事情,当我开始工作时会做。干杯。 –

回答

0

这是因为Rails广泛使用REST进行URL路由。

对于如:

当应用程序接收到的请求为GET users/1routes.rb将被称为找出相应controlleraction。 假设,你的路线文件包含

get '/users/:id', to: 'users#show' 

然后,请求将被users控制器show动作来处理。

有关在轨路由的详细信息,请参阅Guide.

编辑:

要回答你的问题,why doesn't the "show" action appear in the url, Rails应用程序坚持REST架构的限制,称为其使用的是定义REST风格的路线HTTP动词和URL组合到控制器动作

+0

是的,但我的问题是,为什么不显示“显示”操作的网址?网址是/ users,而不是/ users/show。对不起,如果我错过了这一点。 –

+0

show action的url应该是'/ users /:id'。如果您不覆盖默认导轨资源路径,'/ users'将呈现索引页面。 – Pramod

+0

我不确定你是否理解我的问题。如果我点击users_show_path链接,则url是users/show。如果我呈现'users/show',那么url是/ users –