如图所示,我有三个模型
class Location < ActiveRecord::Base
attr_accessible :location_name
has_many :areas
has_many :restaurants, through: :areas
end
class Area < ActiveRecord::Base
attr_accessible :area_name, :location_id
belongs_to :location
has_many :restaurants
end
class Restaurant < ActiveRecord::Base
attr_accessible :description, :menu, :restaurant_name, :area_id
belongs_to :area
end
我正在使用简单形式的 gem,我想创建一家新餐厅并首先选择一个位置,该位置具有许多区域以及与要自动选择的位置相关联的正确区域。然后我缩小到一个区域。在概念上类似于说某人如何选择大陆,然后将其缩小到特定大陆的一个国家。有没有办法使用 simple_form 来实现这一点?我对餐厅控制器中的新操作有什么额外的吗?
到目前为止,这是我对创建新餐厅的看法
<%= simple_form_for @restaurant do |f| %>
<%= f.input :restaurant_name %>
<%= f.input :description %>
<%= f.input :menu %>
<%= f.input :area_id,collection: @locations, as: :grouped_select, group_method: :areas%>
<%= f.button :submit %>
<% end %>
这不能按预期工作。我已经用 Locations 和 Areas 填充了我的数据库。有任何想法吗?