`
hozaka
  • 浏览: 39050 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

inu.cc 开发日志

阅读更多

最近几次更新,发现了项目中一点小问题,算是对 rails 框架理解不够深刻导致的吧。blog 下来,方便以后提醒自己。

check_box 方法会生成一个 type="checkbox" 的选择框。通常情况下,不选中这个框将不会提交相关的数据,controller 中取得该值为 nil,其实从逻辑上说,不选择表示 false ,而不是 nil 。因此,rails 选择的做法是添加一个同名的 type="hidden" 的隐藏表单,值为 0 。一般来说这种做法能够保证 controller 中取得的值只有 true 和 false 两种情况,但是,有一种情况例外:method="get" 。应该算是 rails 没有对这个方法实现完整,只针对 post 的情况额外处理了 checkbox 的这种特例(两个同名的 field 将会提交一个数组)。解决的办法只有在 controller 取值的时候用 ||= 操作符另外赋值,或者重写 request.params 方法以识别这种情况。

第二个问题是数据库表字段的默认值。对于“默认值”的概念经常会产生一种混淆:没有值就应该用默认值。其实不是这样的。如果一个字段允许 NULL ,默认值为 0  ,如果在 SQL 语句中显式声明插入一个 null 值,数据库是不会使用默认值的。只有在没有显示为该字段指明值的时候才会使用默认值,提供空值并不属于这种情况。

分享到:
评论

相关推荐

    SDK3.8 指纹仪 中控U.are.U 4000B二次开发C# 版源码

    SDK3.8是一款针对中控U.are.U 4000B指纹仪的开发套件,主要用于二次开发,便于开发者集成指纹识别功能到自己的应用程序中。这个开发套件以C#语言编写,提供了完整的源码,对于熟悉C#编程的开发者来说,是一个宝贵的...

    MFC42U.LIB 和 MFCS42U.LIB 下载

    MFC42U.LIB 和 MFCS42U.LIB 是Microsoft Foundation Classes (MFC) 库中的两个关键文件,对于使用Visual C++ 6.0(vc6.0)进行Windows应用程序开发至关重要。MFC 是微软提供的一种C++类库,它封装了Windows API,...

    2tu.cc 网站模板 精选

    【标题】"2tu.cc 网站模板 精选"所涵盖的知识点主要集中在网站设计、网页模板以及可能的后端编程语言ASP。这个标题暗示了这是一套模仿2tu.cc网站风格的模板,可能包括首页、内页、管理界面等多种页面样式,为用户...

    Randomized Experiments from Non-random Selection in U.S.,.pdf

    David S. Lee:Randomized Experiments from Non-random Selection in U.S. House Elections._ Journal of Econometrics,

    MFC42U.LIB MFC42UD.LIB MFCS42U.LIB MFCS42UD.LIB

    MFC42U.LIB、MFC42UD.LIB、MFCS42U.LIB 和 MFCS42UD.LIB 是与Microsoft Visual C++ 6.0版本相关的库文件,它们是Microsoft Foundation Class (MFC) 库的重要组成部分。MFC 是微软提供的一套C++类库,用于简化Windows...

    U.are.U4500 B/S SDK 驱动 示例代码

    U.are.U4000B、U.are.U4500指纹仪开发SDK。里面包含驱动、控件、和示例代码。 示例代码有控件弹窗方式和不弹窗方式两种,是我在对指纹仪开发过程中收录的。 驱动目前只支持到win8及以下,希望对大家有用。

    U.are.U4000 SDK安装程序

    U.are.U4000 SDK是一个专门用于生物识别技术,尤其是指纹识别的开发工具包。这个SDK由Digital Persona公司(现被 HID Global 收购)提供,旨在帮助软件开发者集成指纹识别功能到他们的应用程序中。由于其在网上的可...

    mfcs80ud.lib mfc80u.lib mfcs80u.lib

    标题中的"mfcs80ud.lib", "mfc80u.lib", 和 "mfcs80u.lib" 是Microsoft Visual C++库文件,这些文件在Windows应用程序开发中扮演着重要角色,尤其是对于使用MFC(Microsoft Foundation Classes)框架的开发者来说。...

    DigitalPersona U.are.U 4500 fingerprint SDK

    总的来说,DigitalPersona U.are.U 4500指纹SDK为开发者提供了一个全面的开发平台,无论你是.NET开发者、C++程序员还是Java工程师,都能找到合适的工具来构建指纹识别应用,提升系统的安全性和用户体验。同时,其...

    U.R.U.4000系列64位驱动&SDK开发包

    U.ARE.U指纹采集仪 ZKFinger SDK 完整开发包. 1、ZKFinger SDK指纹采集仪开发包.支持中控指纹采集ZK5000,ZK6000,zk7000,ZK8000美国U.are.U 4000/U.are.U 4000B等指纹采集仪! 2、提供VB、VC、Delphi等语言的开发例子...

    PCIe_U.2协议规范,SFF-8639 版本4.0

    SFF-8639是定义U.2接口规范的标准文件,其中版本4.0进一步完善了PCIe 3.0技术下的U.2接口规范。以下是从标题、描述和部分内容中提取出的知识点: 1. PCIe 3.0技术:PCIe 3.0是PCI Express标准的第三代,其数据传输...

    u.are.u/UAU2000,4000,4000B指纹仪驱动程序

    指纹仪驱动程序,适用美国U.are.U 4000/U.are.U 4000B

    Biokey SDK U.are.U 4000B 中控科技

    "Biokey SDK U.are.U 4000B"是由中控科技提供的一个用于指纹识别技术的软件开发工具包,特别适用于中控指纹采集仪URU4000B。这款开发包为开发者提供了集成指纹识别功能到他们的应用程序中的能力,从而在安全验证、...

    MFC42U.LIB、MFC42UD.LIB、MFCS42U.LIB、MFCS42UD.LIB

    MFC42U.LIB、MFC42UD.LIB、MFCS42U.LIB、MFCS42UD.LIB是Microsoft Foundation Classes (MFC) 库的一部分,用于Visual C++ 6.0开发环境。这些库对于理解C++编程在Windows环境下,特别是涉及到Unicode字符集时的应用至...

    MFC42U.LIB

    标题"MFC42U.LIB"涉及的知识点主要与Microsoft Foundation Classes (MFC)库相关,这是一个由微软提供的C++类库,用于简化Windows应用程序的开发。MFC42U.LIB是MFC库的一个特定版本,适用于Unicode字符集。在编程过程...

    mfcs80u.lib

    mfcs80u.lib是一个重要的库文件,尤其对于在Visual C++环境中开发应用程序的程序员来说。这个文件属于Microsoft Foundation Classes (MFC)库的一部分,MFC是微软为Windows平台提供的一种C++类库,它封装了Windows ...

    U.2接口规范(SSF-8639)PIN定义

    U.2 接口规范(SSF-8639)PIN定义.The contact numbering scheme is an extension of the contact numbering schemes......Figure 5-1 shows the contact numbering for a fully populated version of an SFF-8639 ...

    openssl-1.0.1u.tar.gz

    标题中的 "openssl-1.0.1u.tar.gz" 指的是 OpenSSL 的一个特定版本,1.0.1u,它以 tar.gz 压缩格式提供。虽然不是最新的版本,但往往在某些场合,例如为了参考旧的文档或博客文章,开发者会选择使用接近的版本进行...

    mfc100u.dll

    当运行软件或游戏时,系统提示“丢失mfc100u.dll”、“没有找到mfc100u.dll”等类似错误信息。 请下载本站提供的dll文件,使用它可以帮助用户解决上述问题。 dll文件使用方法: 1、解压下载的文件。 2、复制文件...

    U.are.U指纹采集仪测试程序-通用

    【标题】"U.are.U指纹采集仪测试程序-通用"涉及的是生物识别技术中的指纹识别领域,特别是由U.are.U公司开发的一款针对4000系列指纹采集设备的测试工具。这款测试程序专为评估和验证指纹采集仪的性能而设计,主要...

Global site tag (gtag.js) - Google Analytics