2012-04-12 3 views
0

アソシエーションに属するすべてのレコードを表示するビューを作成しようとしています。アソシエーションに属しているすべてのレコードを表示するビューを作成する

私はビュー/メンバー/ showmembers.html.erbでERBファイルを作成して、コメントを追加members_controller.rbで「showmembers」メソッドが、私はhttp://localhost:3000/members/showmembersに行くときには、ID = showmembersでメンバーを見つけることができませんでした」言います'とそのコントローラのshowメソッドを指す*' app/controllers/members_controller.rb:29: `show '*。

def showmembers  
    @organization = Organization.find(1) 
    @shmembers = @organization.members.all 

    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @members } 
    end 
    end 

showmembers.html.erb

<% @shmembers.each do |shmember| %> 
     <tr> 
     <td><%= shmember.id %></td> 
     <td><%= shmember.first_name %></td> 
     </tr> 
    <% end %> 

感謝。

答えて

2

このエラーは、この要求を処理するためにどの操作を使用するかわからないことを示します。http://localhost:3000/members/showmembers

このリクエストは「GET」なので、Railsは「表示」アクションを選択しました。

ので、解決策は、単にあなたのconfig/routes.rbを編集し、このルートを追加します:

resources :members do 
    collection do 
    get :showmembers # add this line 
    end 
end 
0

、それ以外の場合は、このエラーを引き起こす作用を示すために地図を自分のルートファイルにこれを貼り付けてください最初のルートを定義してください\

 resources :members do 
     collection do 
     get :showmembers 
     end 
    end 

そしてコントローラ

 hmembers = @organization.members 

でこのする必要はありませんmembers = @ organization.members.all

あなたが関連性をよく定義すると....