Rails。为什么我的提交按钮显示创建与更新取决于
Rails. Why does my submit button say Create vs. Update depending on
对新手要温柔一点......
Ruby 版本 2.2.2p95,Rails 版本 4.2.1。
我完成了示例博客应用程序。效果很好,我一直在扩展它。但我是菜鸟,显然缺少一些基本的东西。在主索引中,您会看到一个文章列表,并且有一些 link。
一个link是新建文章:
<%= link_to 'Post New Article', new_article_path %>
另一种是编辑现有文章。
<%= link_to 'Edit', edit_article_path(article) %>
第一个实例调用 new.html.erb
视图,第二个实例调用 edit.html.erb
。这些文件是相同的,并呈现部分 _form.html.erb
。
表格是一样的,但是因为你走的是不同的路径,所以产生的动作是不同的。很好,但是为什么提交按钮在一个实例中在浏览器中显示为 Create Article,而在另一个实例中显示为 Update Article?那是从哪里来的?我正在使用相同的表单做 2 件不同的事情,是什么导致按钮文本发生变化?
它在 Rails 框架 中定义。每当调用新方法时 params[:action] = 'new'
,因此,对于 form
我们使用 f.submit
。这个 f 对象是那个 new
方法的实例。因此框架决定显示按钮名称'New Article'。 Article
是 object 而 new 是 action。
对于更新,params[:action]
是 edit
。但由于我们使用 PATCH/PUT 方法进行更新,rails 显示按钮名称 f.submit
= 更新文章
对新手要温柔一点......
Ruby 版本 2.2.2p95,Rails 版本 4.2.1。
我完成了示例博客应用程序。效果很好,我一直在扩展它。但我是菜鸟,显然缺少一些基本的东西。在主索引中,您会看到一个文章列表,并且有一些 link。
一个link是新建文章:
<%= link_to 'Post New Article', new_article_path %>
另一种是编辑现有文章。
<%= link_to 'Edit', edit_article_path(article) %>
第一个实例调用 new.html.erb
视图,第二个实例调用 edit.html.erb
。这些文件是相同的,并呈现部分 _form.html.erb
。
表格是一样的,但是因为你走的是不同的路径,所以产生的动作是不同的。很好,但是为什么提交按钮在一个实例中在浏览器中显示为 Create Article,而在另一个实例中显示为 Update Article?那是从哪里来的?我正在使用相同的表单做 2 件不同的事情,是什么导致按钮文本发生变化?
它在 Rails 框架 中定义。每当调用新方法时 params[:action] = 'new'
,因此,对于 form
我们使用 f.submit
。这个 f 对象是那个 new
方法的实例。因此框架决定显示按钮名称'New Article'。 Article
是 object 而 new 是 action。
对于更新,params[:action]
是 edit
。但由于我们使用 PATCH/PUT 方法进行更新,rails 显示按钮名称 f.submit
= 更新文章