User: localhost:3000/users/1
Message: localsthost:3000/messages/1
每Message
有user_id
,所以我試圖巢Messages
像這樣:來自用戶1
消息1:
localhost:3000/users/1/messages/1
哪有我嵌套這個?我讀了Rails Routing,但無法完全理解。
我嵌套的資源:
路線:
devise_for :users, :path => '',
:path_names => { :sign_in => 'login', :sign_out => 'logout', :sign_up => 'register' }
# User Profiles
get 'u/:id' => 'users#show', as: :user
# Gits
resources :users do
resources :messages
end
現在的路線是這樣的:
new_user_message GET /users/:user_id/messages/new(.:format) messages#new
edit_user_messaget GET /users/:user_id/messages/:id/edit(.:format) messages#edit
user_message GET /users/:user_id/messages/:id(.:format) messages#show
更新我的新郵件鏈接:
<%= link_to "New Message", new_user_message_path%>
但我得到了Erro r:
No route matches {:controller=>"messages", :action=>"new", :id=>"1"} missing required keys: [:user_id]
您實際上與[答案](http://guides.rubyonrails.org/routing.html#nested-resources)相關聯。如果你有一個特定的問題,一定要包括你正在嘗試,期待和實際得到你的問題的細節。 – coreyward
更新了我的問題 –