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 回答