在控制器中建立关联的更好方法
better way to build association in controller
我需要在父 class 的显示方法中使用 link 来创建关联模型,所以我有代码:
link_to "incomplete", new_polymorphic_path(part_c.underscore, :survey_id => survey.id)
在助手中。
这 link 部分,其中有这样的新代码:
# GET /source_control_parts/new
def new
get_collections
if params[:survey_id]
@s = Survey.find(params[:survey_id])
if @s.blank?
@source_control_part = SourceControlPart.new
else
@source_control_part = @s.create_source_control_part
end
else
@source_control_part = SourceControlPart.new
end
end
我知道这不是很干。我怎样才能简化这个?有 RAILS 方法吗?
这个怎么样:
def new
get_collections
get_source_control_part
end
private
def get_source_control_part
survey = params[:survey_id].blank? ? nil : Survey.find(params[:survey_id])
@source_control_part = survey ? survey.create_source_control_part : SourceControlPart.new
end
我需要在父 class 的显示方法中使用 link 来创建关联模型,所以我有代码:
link_to "incomplete", new_polymorphic_path(part_c.underscore, :survey_id => survey.id)
在助手中。
这 link 部分,其中有这样的新代码:
# GET /source_control_parts/new
def new
get_collections
if params[:survey_id]
@s = Survey.find(params[:survey_id])
if @s.blank?
@source_control_part = SourceControlPart.new
else
@source_control_part = @s.create_source_control_part
end
else
@source_control_part = SourceControlPart.new
end
end
我知道这不是很干。我怎样才能简化这个?有 RAILS 方法吗?
这个怎么样:
def new
get_collections
get_source_control_part
end
private
def get_source_control_part
survey = params[:survey_id].blank? ? nil : Survey.find(params[:survey_id])
@source_control_part = survey ? survey.create_source_control_part : SourceControlPart.new
end