我构建了一个RoR应用程序,允许用户删除created_at字段与用户在删除表单的日期字段中设置的日期相匹配的多个项。这将是一个带有1个日期字段的删除表单和一个提交按钮。
首先,我想我需要一个自定义路由,其中用户选择的created_at日期将作为参数出现。
然后,我需要在items控制器中使用自定义操作从路由获取created_at参数,使用它获取属于用户的所有项(这意味着用户id也必须作为参数出现),并且是在created_at日期创建的。然后使用循环删除它们。这听起来相当简单,但我仍然想知道是否有一个“最好的参与”来实现这一目标。比如如何以rails的方式正确设置这条路线?
发布于 2013-10-01 19:37:52
在销毁操作中使用一个简单的if语句就可以做到这一点:
# DELETE /items/1
# DELETE /items/1.json
def destroy
if params[:date]
Item.where(created_at: params[:date]).destroy_all
else
Item.where(id: params[:id]).destroy
end
respond_to do |format|
format.html { redirect_to items_url }
format.json { head :no_content }
end
endhttps://stackoverflow.com/questions/19124355
复制相似问题