2013-03-05 2 views
0

В настоящее время я пытаюсь просмотреть индекс на одном из моих ресурсов веб-сайтов, и он не может найти маршрут редактирования, независимо от того, что я пробовал. Она продолжает давать мне:route to edit view not found

No route matches {:action=>"edit", :controller=>"posts", :user_id=>nil, :id=>nil} 

index.html.erb:

<h1>Listing posts</h1> 

<table> 
    <tr> 
    <th>Postname</th> 
    <th>Postcontent</th> 
    <th>Poster</th> 
    <th></th> 
    <th></th> 
    <th></th> 
    </tr> 

<% @posts.each do |post| %> 
    <tr> 
    <td><%= post.postname %></td> 
    <td><%= post.postcontent %></td> 
    <td><%= post.poster %></td> 
    <td><%= link_to 'Show', user_posts_path %></td> 
    <td><%= link_to 'Edit', edit_user_post_path(@user,@post) %></td> 
    <td><%= link_to 'Destroy', user_posts_path, method: :delete, data: { confirm: 'Are you sure?' } %></td> 
    </tr> 
<% end %> 
</table> 

<br /> 

<%= link_to 'New Post', new_user_post_path %> 

контроллер:

class PostsController < ApplicationController 
    # GET /posts 
    # GET /posts.json 
    def index 
    @posts = Post.all 
    @users = User.all 
    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @posts } 
    end 
    end 

маршруты:

resources :users do 
    resources :posts 
    end 

рейк маршруты выход:

user_posts GET /users/:user_id/posts(.:format)   posts#index 
       POST /users/:user_id/posts(.:format)   posts#create 
new_user_post GET /users/:user_id/posts/new(.:format)  posts#new 
edit_user_post GET /users/:user_id/posts/:id/edit(.:format) posts#edit 
    user_post GET /users/:user_id/posts/:id(.:format)  posts#show 
       PUT /users/:user_id/posts/:id(.:format)  posts#update 
       DELETE /users/:user_id/posts/:id(.:format)  posts#destroy 
     users GET /users(.:format)       users#index 
       POST /users(.:format)       users#create 
     new_user GET /users/new(.:format)      users#new 
    edit_user GET /users/:id/edit(.:format)    users#edit 
      user GET /users/:id(.:format)      users#show 
       PUT /users/:id(.:format)      users#update 
       DELETE /users/:id(.:format)      users#destroy 
      root  /          home#index 

ответ

1

Что делать, если вы укажете имя Params на вашем пути маршрута, как это:

<td><%= link_to 'Edit', edit_user_post_path(:user_id => @user.id, :id => @post.id) %></td> 
+0

спасибо так много! –

+0

Рад помочь. Если бы вы могли принять ответ, чтобы помочь другим пользователям, было бы неплохо. – MurifoX

+1

Я планирую, я должен ждать :) –