2017-02-22 63 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 –