gpt4 book ai didi

ruby-on-rails - Rails Controller 创建 Model.new 和 Model.create 之间的 Action 差异

转载 作者:行者123 更新时间:2023-12-04 02:52:57 25 4
gpt4 key购买 nike

我正在阅读一些 Rails 3 和 4 教程,并遇到了一些我喜欢的一些见解:

Model.new 和 Model.create 在 Create 操作方面有什么区别。我以为你确实使用了 create Controller 中用于保存的方法,例如。 @post = Post.create(params[:post])但看起来我错了。任何见解都非常感谢。

使用 Post.new 创建 Action

def new
@post = Post.new
end

def create
@post = Post.new(post_params)
@post.save

redirect_to post_path(@post)
end

def post_params
params.require(:post).permit(:title, :body)
end

使用 Post.create 创建 Action
def new
@post = Post.new
end

def create
@post = Post.create(post_params)
@post.save

redirect_to post_path(@post)
end

def post_params
params.require(:post).permit(:title, :body)
end

我有两个问题
  • 这与 Rails 4 的更改有关吗?
  • 使用 @post = Post.create(post_params) 是不好的做法吗? ?
  • 最佳答案

    型号.new

    以下给定参数实例化并初始化 Post 模型:

    @post = Post.new(post_params)

    你必须运行 save为了将您的实例保存在数据库中:
    @post.save

    模型创建

    下面实例化,初始化 并保存 在数据库中给定参数的 Post 模型:
    @post = Post.create(post_params)

    您不需要运行 save命令,它已经内置了。

    更多信息 new here

    更多信息 create here

    关于ruby-on-rails - Rails Controller 创建 Model.new 和 Model.create 之间的 Action 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17963724/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com