在我的项目中,我有两个名为PropertiesController
和FacilitiesController
的控制器。在property
中创建PropertiesController
后,我想从view(form)
加载FacilitiesController
。
我尝试使用显示错误的render facilities/new
(表单中的第一个参数不能包含nil或为空),因为我没有初始化传递给form_for方法的参数(@facility)。
我可以通过初始化PropertiesController
中的@facility变量来避免上述错误。但是form_for
中的代码在object
中的FacilitiesController
调用方法。我不希望所有代码在PropertiesController
中再次重复。
如何在不重复代码的情况下从FacilitiesController
呈现视图?
答案 0 :(得分:5)
我希望下面的代码适合您
class PropertiesController < ApplicationController
def create
@property = Property.new(property_params)
respond_to do |format|
if @property.save
format.html { redirect_to facility_new_path, notice: 'Property was successfully created.' }
else
format.html { render action: 'new' }
format.json { render json: @property.errors, status: :unprocessable_entity }
end
end
end
end