我的控制器中有一个名为update_models
的操作,我根据@selected_model
的值设置了一个名为params[:model_id]
的实例变量:
def update_models
if params[:model_id].blank?
// create object with id attribute equals '0'.
else
@selected_model = Model.find(params[:model_id]
end
end
在if语句的第一部分中,如何为@selected_model
分配一个空对象并将其id
属性设置为'0'
,以便我可以在我的视图中访问该属性使用@selected_model.id
?
答案 0 :(得分:1)
假设params 不是
def update_models
@selected_model = Model.find_by_id( params[:model_id] ) || Model.new( id: 0 )
end
答案 1 :(得分:0)
你不能这样做吗?
def update_models
if params[:model_id].blank?
@selected_model = Model.new
@selected_model.id = 0
else
@selected_model = Model.find(params[:model_id]
end
end
答案 2 :(得分:0)
也许你可以尝试类似的东西(没有if
条件):
def update_models
@selected_model = Model.find(params[:model_id])
rescue
@selected_model = Model.new
@selected_model.id = 0
end