Ruby on rails 将下拉列表中要选择的最大数量限制为从方法返回的值

Ruby on rails 将下拉列表中要选择的最大数量限制为从方法返回的值,ruby-on-rails,ruby,ruby-on-rails-3,methods,count,Ruby On Rails,Ruby,Ruby On Rails 3,Methods,Count,在我的Ruby on Rails应用程序中,我目前有以下方法: def remaining_seats seats.count - bookings.sum(:seats_quantity) end def screens_info "#{name} (#{remaining_seats}/#{seats.count} remaining)" end 返回可预订的座位数量,例如,如果有两次预订,在一个20屏幕的电影院中,每个预订了6个座位,则表示剩余8/20 我想做的是使用它,以便在

在我的Ruby on Rails应用程序中,我目前有以下方法:

def remaining_seats
  seats.count - bookings.sum(:seats_quantity)
end

def screens_info
  "#{name} (#{remaining_seats}/#{seats.count} remaining)"
end
返回可预订的座位数量,例如,如果有两次预订,在一个20屏幕的电影院中,每个预订了6个座位,则表示剩余8/20

我想做的是使用它,以便在用户选择所需座位数量的下拉菜单中:

<%= f.select :seats_quantity, '1'..'10' %>
用户不能选择1-10的范围,而只能选择剩余座位数量。因此,根据上面的示例,如果有8个座位可用,用户可以从下拉菜单中选择最多8个座位

理想情况下,我想要的是有一个最大数量的座位被选为10个限制,然后如果有9个可用的它会去9个,或者如果只有3个可用的座位,它会有最多3个


我该怎么做?

只需将1..10更改为“1”…剩余座位。更改为产生此错误的座位:预订新的未定义局部变量或方法剩余座位时发生名称错误此操作有效:f.选择:座位数量,“1”…@booking.showing.screen.remaining\u seats.谢谢!你知道如果超过10,我怎么能限制到10吗?你也可以只做“1”…@booking.showing.screen.remaining_seats>10?10:@booking.showing.screen.remaining_seats.to_sSame,但可能更rubyesque'1'…[@booking.showing.screen.remaining_seats,10].min.to_s