如何在显示页面上列出属于另一个记录的所有记录?

问题描述

| 我有一个场地表和一个区域表,其中一个场地属于一个区域,一个区域有许多场地。 查看区域显示页面时如何显示属于该区域的所有场地? 我认为这可以工作: 区域show.html.erb:
<%= area.venue.name %>,or
<%= area.venue.name,:collection => @area.venues %>
路线:
resources :areas,:has_many => :venues
但是它会给出\“未定义的局部变量或方法'area \'\”错误或语法错误。 我对任何编程和Rails都是陌生的,我做错了什么? 另外,我已经设置了一个场地部分,但是正在我的应用程序的另一部分中显示它,我希望列出的场地名称不使用局部。 非常感谢您提供的任何帮助!     

解决方法

        首先,您能告诉我们您的
areas_controller.rb
文件吗? 在您的视图内部,您可以执行以下操作:
<% @area.venues.each do |venue| %>
  <%= venue.name %>
  # etc.
<% end %>
这意味着在您的Areas控制器内部,您有一个实例化@area实例变量的
show
动作。 就像是:
def show
  @area = Area.find(params[:id])
end
顺便说一句,不要将模型关系放入route.rb文件中!您需要将它们放入模型中。 Area.rb
class Area < ActiveRecord::Base
  has_many :venues
end
地点
class Venue < ActiveRecord::Base
  belongs_to :area
end
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...