0

関連付けに属するすべてのレコードを表示するビューを作成しようとしていますが、これを行う方法がわかりません。

view/members/showmembers.html.erb に erb ファイルを作成し、members_controller.rb に「showmembers」メソッドを追加しましたが、http://localhost:3000/members/showmembersにアクセスすると、「見つかりませんでした」と表示されますid=showmembers を持つメンバーと、コントローラー *'app/controllers/members_controller.rb:29:in `show'* の 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 %>

ありがとう。

4

2 に答える 2

2

このエラーは、Rails がこのリクエストを処理するために使用するアクションを認識していないことを示しています: http://localhost:3000/members/showmembers

このリクエストは「GET」であるため、Rails は「show」アクションを選択しました。

config/routes.rb を編集して、次のルートを追加するだけです。

resources :members do 
  collection do
    get :showmembers  # add this line 
  end 
end 
于 2012-04-12T07:23:35.293 に答える
0

これをルート ファイルに貼り付けてください。そうしないと、このエラーの原因となるアクションを表示するようにマッピングされます。最初にルートを定義してください\

     resources :members do 
      collection do
         get :showmembers  
      end 
     end 

そして、コントローラーで

        hmembers = @organization.members

このメンバーは不要 = @organization.members.all

関連をうまく定義すると……

于 2012-04-12T07:29:09.253 に答える