<ol class="noDots">
<% # @screening.cinema.each do |screening| %>
<li>
<h3><%= screening.cinema.name %></h3>
</li>
<% #end %>
</ol>
大家好,
电影和电影之间通过筛选有关联。电影模型是独立的,电影是独立的。筛选将它们组合在一起。在电影模型中,一切似乎都正常工作&lt;%= screening.film.title%&gt;完美地工作并在循环中显示它们。
我想创建一个带有链接的cinema.name下拉列表,它会带你到那里。该协会必须存在于不同电影院的一些电影中。
这是可能的,因为上面的代码对我不起作用。
提前致谢
答案 0 :(得分:3)
<h3><%= screening.cinema.name %></h3>
这一行应该是......
<h3><%= screening.name %></h3>
你可以在一个表格中放下这个下拉框,旁边有一个提交按钮,带你到那个页面......
答案 1 :(得分:2)
从我看到的屏幕has_many:电影院(不是电影院has_many:放映) 所以
<% @screening.cinema.each do |cinema| %>
<li>
<h3><%= cinema.name %></h3>
</li>
<% end %>
答案 2 :(得分:2)
听起来你得到了很多“零对象”的错误。仔细检查您的控制器,看看您在那里定义的哪些变量可以在视图中访问。
例如,如果您正在设置@film,那么您可以使用以下内容遍历关联:
<% @film.screenings.each do |screening| %>
<li>
<h3><%= screening.cinema.name %></h3>
</li>
<% end %>
如果您在获取放映列表时急切加载它们,您应该能够按电影院名称进行按字母顺序排列:
<% @film.screenings.includes(:cinema).order("cinema.name ASC").each do |screening| %>
<li>
<h3><%= screening.cinema.name %></h3>
</li>
<% end %>
希望有所帮助!
答案 3 :(得分:1)
请显示放映模型和电影模式,但要根据要点...
假设
class Screening
belongs_to :film
belongs_to :cinema.
.....
end
class Film
has_many :screenings
has_many :cinemas, :through => :screenings
end
class Cinema
has_many :screenings,
has_many :films, :through => screenings
end
我认为你想要的是以下几点。
<ol class="noDots">
<% # @screenings.each do |screening| %>
<li>
<h3><%= screening.cinema.name %></h3>
</li>
<% #end %>
</ol>
假设您将@screenings设置为控制器中所需的放映子集。
答案 4 :(得分:1)
这应该适用于评论中的单一筛选。
@screening = Screening.find(some_id)
<% @screening.cinema.each do |s| %>
<li>
<h3><%= s.cinema.name %></h3>
</li>
<% end %>