为什么在尝试使用 application_controller 中的方法时会出现错误?

Why do I get an error when trying to use a method in application_controller?

在我的 Ruby on Rails 应用程序中,我有一个电影院应用程序,我正在尝试用放映日期不在过去的电影填充下拉菜单。

在我的 _form.html.erb 中,我有一个尝试使用 live_films 方法的下拉菜单:

<%= f.grouped_collection_select :showing_id, Film.order(:title).live_films, :showings, :title, :id,  :showing_times %>

方法在application_controller:

helper_method :active_menu, :live_films 

def live_films 
    Film.includes(:showings).where.not(showings.show_date < Date.today)
end

我还怀疑我的方法行不通,所以我欢迎提供有关使其发挥作用的建议。

我做错了什么?

您应该在 live_films 方法调用的结果上调用 order 作为:

<%= f.grouped_collection_select :showing_id, live_films.order(:title), :showings, :title, :id,  :showing_times %>