使用 创建新资源时rails generate scaffold person
,将创建以下控制器操作destroy
:
class PeopleController < ApplicationController
def destroy
@person = Person.find(params[:id])
@person.destroy
respond_to do |format|
format.html { redirect_to people_url }
format.json { head :no_content }
end
end
end
在编写自己的destroy
操作时,我总是复制这种语法。
我的问题是,为什么生成的代码:
- 分配一个从未使用过的实例变量?
- 当只需要一个时执行两个数据库调用?
以下代码是等效的,还是有理由不这样做?
class PeopleController < ApplicationController
def destroy
Person.destroy(params[:id])
respond_to do |format|
format.html { redirect_to people_url }
format.json { head :no_content }
end
end
end