3
创建时使用rails generate scaffold person
新的资源,为destroy
创建下列控制器动作:Rails的:生成的控制器语法
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
它们在功能上等同。我的猜测是,这就是为了保持一致 - 所有其他默认操作都设置了实例变量,为什么会有异常? – MrTheWalrus 2013-02-27 17:42:07