2012-04-12 109 views
0

我試圖創建一個視圖,顯示屬於一個關聯的所有記錄,並不確定如何去做這件事。創建一個視圖,顯示belongs_to一個關聯的所有記錄

我創建了一個視圖/會員/ showmembers.html.erb的ERB文件,添加「showmembers」在members_controller.rb方法,但是當我去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

錯誤表示Rails不知道使用哪個動作來處理此請求: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

如果你定義好關聯......

相關問題