【发布时间】:2016-10-18 22:31:10
【问题描述】:
您好,我正在尝试在我添加的两个模型 Establishments 和 OpenClosed 之间建立关系
class Establishment < ApplicationRecord
has_many :open_closed
end
class OpenClosed < ApplicationRecord
belongs_to :establishment
end
我在 open_closed 表中添加了建立 ID 字段,然后运行 rails db:migrate。接下来我嵌套了资源
resources :establishments do
resources :open_closeds
end
然后我修改了 OpenClosed 控制器 #new 行注释,其中我添加了新代码
def new
@establishment = Establishment.find(params[:establishment_id]) #new line added
@open_closed = OpenClosed.new
end
# GET /open_closeds/1/edit
def edit
end
# POST /open_closeds
# POST /open_closeds.json
def create
@establishment = Establishment.find(params[:establishment_id]) #new line added
@open_closed = OpenClosed.new(open_closed_params)
@open_closed.Establishment = @establishments #new line added
respond_to do |format|
if @open_closed.save
format.html { redirect_to @open_closed, notice: 'Open closed was successfully created.' }
format.json { render :show, status: :created, location: @open_closed }
else
format.html { render :new }
format.json { render json: @open_closed.errors, status: :unprocessable_entity }
end
end
end
这是我在 open_closed 视图中提交表单时遇到的错误:
undefined method `Establishment=' for # 你的意思是?建立=建立建立ID=建立ID建立ID?
我这辈子都无法解决我在哪里出错了,请有人为我指出正确的方向,非常感谢。
【问题讨论】:
-
什么是 OpenClosed?你的意思是像business hours这样的东西吗?
标签: ruby-on-rails nested-resources