好吧,这可能会因为更多"样式偏好而被击落。而不是"详细问题",但谷歌让我失望。
在我自学成才的旅程中(从Rails 2开始),我学会了这样做:
class UsersController < ApplicationController
...
def update
@user = User.find(params[:user_id])
...
if @user.save
# handle success
else
# handle failure
end
end
...
end
但是最近(Rails 4/5)我看到了使用它的模式:
class UsersController < ApplicationController
...
def update
@user = User.find(params[:user_id])
...
@user.save
if @user.errors.any?
# handle failure
else
# handle success
end
end
...
end
这笔交易是什么?我错过了某种改进吗?
(这两个来自我在第一次注意到变化的黑客马拉松时生成的相同代码库)
(现在我正在搜索我的浏览器历史记录,我会在发现时发布更多内容)
答案 0 :(得分:3)
第二种模式以不同的方式使用。
设置属性并使用保存时,它是多余的。
但通常可以使用$sql= mysqli_query($link, "INSERT into amazon_orders (AmazonOrderId, OrderStatus)
VALUES $imploded ");
方法。所以第二种模式看起来像这样:
q1.samp = cbind(data.grid, prob = mvtnorm::dmvnorm(data.grid, mean = m1, sigma=sigma1))
q1.samp$origin <- "q1"
q2.samp = cbind(data.grid, prob = mvtnorm::dmvnorm(data.grid, mean = m2, sigma=sigma2))
q2.samp$origin <- "q2"
q <- rbind(q1.samp, q2.samp)
ggplot(q, aes(x=s.1, y=s.2, z=prob, color = origin)) +
geom_contour() +
coord_fixed(xlim = c(-25, 25), ylim = c(-25, 25), ratio = 1)
因为create
方法返回一个实例作为结果。
我认为此方法中的def create
@user = User.create(user_params)
if @user.errors.any?
# handle failure
else
# handle success
end
end
更多地用于一致性和copypaste,因为create
方法返回布尔值,您可以使用update
的第一个模式。
update