Ruby rails表单实例是如何工作的?
我有两种方法,show和createRuby rails表单实例是如何工作的?,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,我有两种方法,show和create def show @article = Article.find(params[:id]) @comment = Comment.new @comment.article_id = @article.id end def create @comment = Comment.new(comment_params) @comment.article_id = params[:article_id] @commen
def show
@article = Article.find(params[:id])
@comment = Comment.new
@comment.article_id = @article.id
end
def create
@comment = Comment.new(comment_params)
@comment.article_id = params[:article_id]
@comment.save
redirect_to article_path(@comment.article)
end
Show方法显示我的注释表单
在show方法中,我们为什么要创建Comment
的新实例并关联注释
项目id的实例
Create方法实际上处理表单的提交
在create方法中,我再次创建一个新的comment对象,并再次关联该评论的article_id
我的全部问题是为什么我们要重复这些事情?。为什么我在显示我的评论表单时会将其与
文章id
相关联,并且在提交表单时也会重复这些步骤。如果将这些资源嵌套并将表单构建为:
<%= form_for(@article, @article.comments.build) do |f| %>
希望这有帮助!:) 如果将这些资源嵌套,并将表单构建为:
<%= form_for(@article, @article.comments.build) do |f| %>
希望这有帮助!:) 如果将这些资源嵌套,并将表单构建为:
<%= form_for(@article, @article.comments.build) do |f| %>
希望这有帮助!:) 如果将这些资源嵌套,并将表单构建为:
<%= form_for(@article, @article.comments.build) do |f| %>
希望这有帮助!:) 两次初始化注释的原因都是因为用户的浏览器只看到html表单-它没有
注释的概念-并且因为对Rails应用程序的每个请求都是独立的-在请求之间应用程序中不会保留任何内容:
当用户为文章
请求显示
页面时,该请求由应用程序处理,如下所示:
控制器创建一个新的注释对象(在内存中)
视图中用于帮助者的表单\u将根据该注释
构建表单
显示
页面的html将发送到用户浏览器
此时,应用程序已经完成了为该请求提供服务所需的一切,因此临时注释
对象被删除
当用户提交表单时,输入的值将发送到comment_params
中的应用程序,应用程序将按如下方式处理此请求:
控制器创建一个新的Comment
对象(再次在内存中),但使用用户在Comment\u参数中发送的数据对其进行初始化
控制器保存注释
——这将注释
存储在数据库中,以便以后加载
控制器重定向回显示
页面
保存到数据库是应用程序在请求之间保存内容的主要方式—内存中的对象仅在处理请求时存在。两次初始化注释的原因是,用户的浏览器只看到html表单—它没有注释的概念,并且对Rails应用程序的每个请求都是独立的-在请求之间,应用程序中不会保留任何内容:
当用户为文章
请求显示
页面时,该请求由应用程序处理,如下所示:
控制器创建一个新的注释对象(在内存中)
视图中用于帮助者的表单\u将根据该注释
构建表单
显示
页面的html将发送到用户浏览器
此时,应用程序已经完成了为该请求提供服务所需的一切,因此临时注释
对象被删除
当用户提交表单时,输入的值将发送到comment_params
中的应用程序,应用程序将按如下方式处理此请求:
控制器创建一个新的Comment
对象(再次在内存中),但使用用户在Comment\u参数中发送的数据对其进行初始化
控制器保存注释
——这将注释
存储在数据库中,以便以后加载
控制器重定向回显示
页面
保存到数据库是应用程序在请求之间保存内容的主要方式—内存中的对象仅在处理请求时存在。两次初始化注释的原因是,用户的浏览器只看到html表单—它没有注释的概念,并且对Rails应用程序的每个请求都是独立的-在请求之间,应用程序中不会保留任何内容:
当用户为文章
请求显示
页面时,该请求由应用程序处理,如下所示:
控制器创建一个新的注释对象(在内存中)
视图中用于帮助者的表单\u将根据该注释
构建表单
显示
页面的html将发送到用户浏览器
此时,应用程序已经完成了为该请求提供服务所需的一切,因此临时注释
对象被删除
当用户提交表单时,输入的值将发送到comment_params
中的应用程序,应用程序将按如下方式处理此请求:
控制器创建一个新的Comment
对象(再次在内存中),但使用用户在Comment\u参数中发送的数据对其进行初始化
控制器保存注释
——这将注释
存储在数据库中,以便以后加载
控制器重定向回显示
页面
保存到数据库是应用程序在请求之间持久化内容的主要方式—内存中的对象仅在处理请求时存在。您