我打算把它写成评论,但它太长了

助手强>

通常,您通常需要尽可能使用Rails助手(其中form_tag是一个)。

原因是随着Rails(& HTML)的发展,你会发现帮助者会适应以跟上当前的语法,而使用“裸”的HTML却不会。这不仅保留了您的应用conventional,还保留了DRY

通过手动输入HTML表单,您不仅可以解决语法更改问题,还可以获得Rails集成提供的任何好处,例如CSRF保护

的form_tag 强>

关于form_tag的快速说明

您已使用form_tag&来定义:controller的路线:action。使用将在您的Rails route_helpers文件中定义的routes之一,您会好得多:

#config/routes.rb

resources :checkout, path_names: { create: "place_order" }

这将允许您使用以下内容:

还必须注意,默认情况下form_for标记实际上会使用:post方法

-

PARAMS 强>

您提到您的商品的params未使用您的标准表单传递。

实际上这很简单 - Rails builds a params hash每当您通过HTML表单向控制器发送数据时。

您遇到的问题是,如果您使用“裸”HTML定义表单,那么这些参数将无法正确生成(它们是根据您的表单元素名称构建的)。这意味着如果您想将正确的数据发送到您的应用程序,您将更适合使用其中一个帮助程序,例如form_for(这是您现在发现的)

的form_for 强>

如DMKE所述,您可能希望使用form_for。这与form_tag不同,因为它依赖于使用ActiveRecord对象。你必须这样做:

#app/controllers/checkout_controller.rb

Class CheckoutController < ApplicationController

def new

@checkout = Checkout.new

end

def create

@checkout = Checkout.new(checkout_params)

@checkout.save

end

end

然后,您可以使用以下内容填充form_for:

#app/views/checkout/new.html.erb

rails使用html form,在erb文件中使用rails form_tag和html表单代码有什么区别?相关推荐

  1. Yml文件中值的写法:单引号和双引号的区别以及如何传入null字符串

    Yml文件中值的写法:单引号和双引号的区别以及如何传入null字符串 "":双引号不会对字符串里面的特殊字符进行转义,也就是转义字符该是什么意思就是什么意思. 举例: name: ...

  2. workbook加载文件路径_Excel文件中如何快速找到目标工作表?(目录导航)

    Excel文件中如何快速找到目标工作表?(目录导航) 我们在制作Excel文件时,经常会把多个工作表放在同一个Excel文件中,也就是放在同一个Excel工作簿中使用.比如区域月度销售表格,我们常常会 ...

  3. Web前端——HTML中的列表、表格、表单

    一. 列表 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF- ...

  4. Form 表单提交 和 Ajax 表单提交 的一些区别

    自己一些心得体会: 1:form 表单提交后进行后台处理程序,没有直接返回值,只能进行后台处理,Form标签里的所有数据全部提交到后台 ajax 表单提交,是可以局部提交,具有ajax的所有属性... ...

  5. [Ajax] jQuery中的Ajax -- 04-异步提交表单

    异步提交表单 异步提交表单的步骤 获取表单及所有表单组件对应的数据值. 将所有表单组件对应的数据值拼成特定格式的字符串或是JSON格式数据. 通过Ajax异步交互方式提交表单. <!DOCTYP ...

  6. python网页提交表单_使用Python中的POST请求通过网站表单上传基本文件

    我尝试使用Python和HTTP请求在一个随机的网站上上传一个文件.为此,我使用名为Requests的便利库. 根据the documentation,以及StackOverflow here和the ...

  7. npm package.json文件中的依赖关系,devDependencies和peerDependencies之间有什么区别?

    本文翻译自:What's the difference between dependencies, devDependencies and peerDependencies in npm packag ...

  8. 使用SSIS包将多个Excel文件中的数据导入SQL Server表中

    This article explores an SSIS package for importing multiple Excel files data into SQL Server tables ...

  9. 注册表的作用、bat文件中REG ADD命令添加注册表项以及bat

    注册表的用途与设置 注册表是windows的核心,里面储存着大量的系统信息,说白了就是一个庞大的数据库.如果你不懂什么是数据库,那没关系,不影响你了解注册表,不过最好对数据库有所了解.注册表里面所有的 ...

  10. Http协议中的数据传送之多重表单提交--multipart/form-data

    RFC 2188: Returning Values from Forms: multipart/form-data,这份文件说明了在 HTTP POST 讯息中使用多种格式信息的作法,它可以用在许多 ...

最新文章

  1. 精选30张炫酷的动态交互式图表,Pandas一键生成,通俗易懂
  2. linux sed i 大文件,sed -i   修改链接文件注意事项   破坏了原文件
  3. 牛客假日团队赛5J 护城河 bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 (凸包的周长)...
  4. python第七天--字符串的方法与注释
  5. JavaScript原生添加移除class的方法
  6. php 越权 漏洞,PHPYUN最新版多处SQL注入及越权操作二
  7. K8s 原理架构介绍(一)
  8. DataMining with Sql 2005
  9. ESX中的虚拟机中安装虚拟机的实现
  10. 实践:VB创建Com组件 在Asp以及.Net中调用
  11. python预定义_[Python] Pycharm 预定义 coding 模板
  12. 【无线安全实践入门】破解WiFi密码的多个方法
  13. virtualbox win10 共享文件夹
  14. webpack 5高级配置优化
  15. Duang~ Golang 学习初探
  16. OpenJudge-005雇佣兵(解析)
  17. Glide加载网络图片模糊变形问题解决办法
  18. 海康visionmaster开发笔记10-集成HALCON第三方算子到VM工具箱的方法
  19. 画论20 郭熙《林泉高致集》
  20. Java 集合框架(8)---- 总结

热门文章

  1. 程序员与颈椎病(三):颈椎病终极解决办法
  2. 从零开始的RVOS: Referring Video Object Segmentation
  3. Rust入门教程(三):Package、Crate 和 Module
  4. oracle 12c id 自增,Oracle 12c Identity Columns 新特性 和 序列 构成自增列
  5. 《关键对话》如何高效能沟通之何谓关键对话
  6. c 语言count函数什么意思,在C ++ STL中设置count()函数
  7. 中国科学技术大学计算机考研好考吗,中国科学技术大学计算机考研复习方法谈(2)...
  8. 写在微信小程序一周年
  9. python画几种树
  10. 基于WebGIS的电子政务应用(基于J2EE的MVC架构)