Ruby rails 如何显示与特定行关联的数据
Ruby on rails How do I display data associated with a specific row
在我的 ruby on rails 应用程序中,我有一个显示电影详细信息的 show.html.erb 页面,我想做的是显示电影放映的日期.到目前为止,我在 show.html.erb 文件中这样做了:
<% @film.showings.each do |film| %>
<%= @film.showings.show_date %>
<% end %>
在我的模型中,我有以下关联:
film.rb:
class Film < ActiveRecord::Base
has_many :showings
validates :title, presence: true, length: { minimum: 3 }
end
showing.rb:
class Showing < ActiveRecord::Base
belongs_to :film
end
在我的 showings_controller.rb:
class ShowingsController < ApplicationController
def show
@showing = Showing.find(params[:id])
end
end
我做错了什么?在我收到错误的那一刻:
电影中没有方法错误#show
#
的未定义方法 show_date
我应该做什么?
我不知道这是否是问题所在,但 show.html.erb
中的代码是错误的。您正在遍历 @film
的放映,但在循环内您仍然指的是所有放映 (@film.showings
)。在里面,试试这个:
<% @film.showings.each do |showing| %>
<%= showing.show_date %>
<% end %>
在我的 ruby on rails 应用程序中,我有一个显示电影详细信息的 show.html.erb 页面,我想做的是显示电影放映的日期.到目前为止,我在 show.html.erb 文件中这样做了:
<% @film.showings.each do |film| %>
<%= @film.showings.show_date %>
<% end %>
在我的模型中,我有以下关联:
film.rb:
class Film < ActiveRecord::Base
has_many :showings
validates :title, presence: true, length: { minimum: 3 }
end
showing.rb:
class Showing < ActiveRecord::Base
belongs_to :film
end
在我的 showings_controller.rb:
class ShowingsController < ApplicationController
def show
@showing = Showing.find(params[:id])
end
end
我做错了什么?在我收到错误的那一刻:
电影中没有方法错误#show #
的未定义方法show_date
我应该做什么?
我不知道这是否是问题所在,但 show.html.erb
中的代码是错误的。您正在遍历 @film
的放映,但在循环内您仍然指的是所有放映 (@film.showings
)。在里面,试试这个:
<% @film.showings.each do |showing| %>
<%= showing.show_date %>
<% end %>