【发布时间】:2014-08-23 14:14:51
【问题描述】:
我对 Rails 很陌生,我仍在关注tutorial,了解如何在父记录的显示视图中显示和创建关联记录。我正在尝试添加一个创建子记录的表单。
building/show.html.erb 包含以下形式:
<%= form_for([@building, @building.rooms.build]) do |f| %>
<%= f.label :name %><br>
<%= f.text_field :name %><br>
<%= f.submit %>
<% end %>
已经使用 has_many 和 belongs_to 为关联设置了模型类。
BuildingsController 有
def show
@building = Building.find(params[:id])
@room = Room.new
@room.building_id = @building.id
end
RoomsController 有
def new
@room = building.rooms.new
end
def create
@building = Building.find(params[:building_id])
@room = @Building.rooms.create(room_params)
redirect_to building_path(@building)
end
我不确定我错过了什么,但是当我在浏览器中加载建筑记录 /building/1 时,我得到了
undefined method building_rooms_path。我认为这可能与我对 form_for 的惯用用法有关。我只是从教程中复制它。
【问题讨论】: