我正在尝试创建一个视图,显示属于某个关联的所有记录,但不确定如何进行此操作。
我在view / members / 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 %>
感谢。
答案 0 :(得分: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
答案 1 :(得分:0)
请将此信息粘贴到路径文件中,否则会映射显示导致此错误的操作,请先定义路径\
resources :members do
collection do
get :showmembers
end
end
然后在控制器中
hmembers = @organization.members
不需要这个成员= @ organization.members.all
如果你很好地定义协会......