rails使用html form,在erb文件中使用rails form_tag和html表单代码有什么区别?
我打算把它写成评论,但它太长了
助手强>
通常,您通常需要尽可能使用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表单代码有什么区别?相关推荐
- Yml文件中值的写法:单引号和双引号的区别以及如何传入null字符串
Yml文件中值的写法:单引号和双引号的区别以及如何传入null字符串 "":双引号不会对字符串里面的特殊字符进行转义,也就是转义字符该是什么意思就是什么意思. 举例: name: ...
- workbook加载文件路径_Excel文件中如何快速找到目标工作表?(目录导航)
Excel文件中如何快速找到目标工作表?(目录导航) 我们在制作Excel文件时,经常会把多个工作表放在同一个Excel文件中,也就是放在同一个Excel工作簿中使用.比如区域月度销售表格,我们常常会 ...
- Web前端——HTML中的列表、表格、表单
一. 列表 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF- ...
- Form 表单提交 和 Ajax 表单提交 的一些区别
自己一些心得体会: 1:form 表单提交后进行后台处理程序,没有直接返回值,只能进行后台处理,Form标签里的所有数据全部提交到后台 ajax 表单提交,是可以局部提交,具有ajax的所有属性... ...
- [Ajax] jQuery中的Ajax -- 04-异步提交表单
异步提交表单 异步提交表单的步骤 获取表单及所有表单组件对应的数据值. 将所有表单组件对应的数据值拼成特定格式的字符串或是JSON格式数据. 通过Ajax异步交互方式提交表单. <!DOCTYP ...
- python网页提交表单_使用Python中的POST请求通过网站表单上传基本文件
我尝试使用Python和HTTP请求在一个随机的网站上上传一个文件.为此,我使用名为Requests的便利库. 根据the documentation,以及StackOverflow here和the ...
- npm package.json文件中的依赖关系,devDependencies和peerDependencies之间有什么区别?
本文翻译自:What's the difference between dependencies, devDependencies and peerDependencies in npm packag ...
- 使用SSIS包将多个Excel文件中的数据导入SQL Server表中
This article explores an SSIS package for importing multiple Excel files data into SQL Server tables ...
- 注册表的作用、bat文件中REG ADD命令添加注册表项以及bat
注册表的用途与设置 注册表是windows的核心,里面储存着大量的系统信息,说白了就是一个庞大的数据库.如果你不懂什么是数据库,那没关系,不影响你了解注册表,不过最好对数据库有所了解.注册表里面所有的 ...
- Http协议中的数据传送之多重表单提交--multipart/form-data
RFC 2188: Returning Values from Forms: multipart/form-data,这份文件说明了在 HTTP POST 讯息中使用多种格式信息的作法,它可以用在许多 ...
最新文章
- 精选30张炫酷的动态交互式图表,Pandas一键生成,通俗易懂
- linux sed i 大文件,sed -i 修改链接文件注意事项 破坏了原文件
- 牛客假日团队赛5J	护城河 bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 (凸包的周长)...
- python第七天--字符串的方法与注释
- JavaScript原生添加移除class的方法
- php 越权 漏洞,PHPYUN最新版多处SQL注入及越权操作二
- K8s 原理架构介绍(一)
- DataMining with Sql 2005
- ESX中的虚拟机中安装虚拟机的实现
- 实践:VB创建Com组件 在Asp以及.Net中调用
- python预定义_[Python] Pycharm 预定义 coding 模板
- 【无线安全实践入门】破解WiFi密码的多个方法
- virtualbox win10 共享文件夹
- webpack 5高级配置优化
- Duang~ Golang 学习初探
- OpenJudge-005雇佣兵(解析)
- Glide加载网络图片模糊变形问题解决办法
- 海康visionmaster开发笔记10-集成HALCON第三方算子到VM工具箱的方法
- 画论20 郭熙《林泉高致集》
- Java 集合框架(8)---- 总结
热门文章
- 程序员与颈椎病(三):颈椎病终极解决办法
- 从零开始的RVOS: Referring Video Object Segmentation
- Rust入门教程(三):Package、Crate 和 Module
- oracle 12c id 自增,Oracle 12c Identity Columns 新特性 和 序列 构成自增列
- 《关键对话》如何高效能沟通之何谓关键对话
- c 语言count函数什么意思,在C ++ STL中设置count()函数
- 中国科学技术大学计算机考研好考吗,中国科学技术大学计算机考研复习方法谈(2)...
- 写在微信小程序一周年
- python画几种树
- 基于WebGIS的电子政务应用(基于J2EE的MVC架构)