2011-10-10 90 views
0

我真的開始哭了;)試圖在模型索引視圖中建立鏈接。初學者:簡單link_to /路由

我有2個簡單的模型:用戶和帖子。這兩個產生與腳手架並且有工作連接。用戶has_many:帖子和帖子belongs_to:用戶。

我想在views/post/index.html.er文件中做什麼是Post標題及其所屬用戶的列表。它運作良好(也學習html5):

<% @posts.each do |post| %> 

<p><%= link_to post.user.name, users_path %>: <b><%= post.title %></b></p> 

<% end %> 

嗯,它的工作原理,但「users_path」不是我想要的。我想鏈接到帖子belongs_to的特定用戶。我很抱歉地說,我沒有從http://guides.rubyonrails.org/routing.html得到很多幫助。

我該怎麼做?我必須在posts_controller索引操作中指定@user嗎?我真的很感謝這裏的長時間回覆。

TNK SOOOO多的耐心初學者;)

回答

1

你可能有這樣的在你的路線 -

resources :posts do 
    resources :users 
end 

耙路線會產生下面的映射 -

post_users GET /posts/:post_id/users(.:format)   {:action=>"index", :controller=>"users"} 
       POST /posts/:post_id/users(.:format)   {:action=>"create", :controller=>"users"} 
new_post_user GET /posts/:post_id/users/new(.:format)  {:action=>"new", :controller=>"users"} 
edit_post_user GET /posts/:post_id/users/:id/edit(.:format) {:action=>"edit", :controller=>"users"} 
    post_user GET /posts/:post_id/users/:id(.:format)  {:action=>"show", :controller=>"users"} 
       PUT /posts/:post_id/users/:id(.:format)  {:action=>"update", :controller=>"users"} 
       DELETE /posts/:post_id/users/:id(.:format)  {:action=>"destroy", :controller=>"users"} 
     posts GET /posts(.:format)       {:action=>"index", :controller=>"posts"} 
       POST /posts(.:format)       {:action=>"create", :controller=>"posts"} 
     new_post GET /posts/new(.:format)      {:action=>"new", :controller=>"posts"} 
    edit_post GET /posts/:id/edit(.:format)    {:action=>"edit", :controller=>"posts"} 
      post GET /posts/:id(.:format)      {:action=>"show", :controller=>"posts"} 
       PUT /posts/:id(.:format)      {:action=>"update", :controller=>"posts"} 
       DELETE /posts/:id(.:format)      {:action=>"destroy", :controller=>"posts"} 

以上解釋您可以使用的網址以及需要傳遞的對象。
對於帖子的用戶連接 -

<%= link_to "Post User details", post_user_path(post, post.user) %> 

OR

<%= link_to "Post User details", url_for([post, post.user]) %> 
+0

Jayendra帕蒂爾<3 –

+0

你可能要接受的答案,如果解決方案適用於你。會幫助人們進一步幫助你。 – Jayendra