Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么Rails在我的表格中如果是空白,为什么不识别为零呢?

为什么Rails在我的表格中如果是空白,为什么不识别为零呢?
EN

Stack Overflow用户
提问于 2013-09-03 15:59:55
回答 1查看 392关注 0票数 0

我正在改造一个Rails 2网站。现在,我收到了一个错误,我认为这是因为一个值是以空白形式提交的,而不是.nil。然而,我试图保持它的零我很感激你能提供的任何帮助。

基于 Make blank params[] nil模型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    NULL_ATTRS = %w( start_masterlocation_id )
    before_save :nil_if_blank

    protected

    def nil_if_blank
    NULL_ATTRS.each { |attr| self[attr] = nil if self[attr].blank? }
    end

视图

我有一个jQuery,当一个start_masterlocation_id存在时,它会为这个隐藏字段添加一个值。我还获得了jQuery,它在不存在字段属性时删除它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <%= hidden_field :newsavedmap, :start_masterlocation_id, :id => "start-masterlocation-id-field" %>

最后,这里是控制器中抛出错误的部分。这是包含表单的页面的控制器(Maptry),而不是Newsavedmap的控制器。我认为我必须删除@newsavedmap.id、@newsavedmap.mapname和@newsavedmap.optimize行,因为我要使用表单处理程序,但我认为这与此错误无关。

控制器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    def maptry
    @itinerary = Itinerary.find(params[:id])
    if @itinerary.user_id == current_user.id
    respond_to do |format|
    @masterlocation = Masterlocation.find(:all)
    format.html do
    end
    format.xml  { render :xml => @masterlocation }
    format.js do
    @masterlocation = Masterlocation.find(:all)
    render :json => @masterlocation.to_json(:only => [:id, :nickname, :latitude, :longitude])
    end
    end
    if params[:newsavedmap_id]
    @newsavedmap = Newsavedmap.find(:first, :conditions => {:id => params[:newsavedmap_id]})
    @waypoint = Waypoint.find(:all, :conditions => {:newsavedmap_id => params[:newsavedmap_id]})
    @newsavedmap.id = params[:newsavedmap_id]
    @newsavedmap.mapname = Newsavedmap.find(:first, :conditions => {:id => params[:newsavedmap_id]}).mapname
    @newsavedmap.optimize = Newsavedmap.find(:first, :conditions => {:id => params[:newsavedmap_id]}).optimize
    if !@newsavedmap.start_masterlocation_id.nil?       
    @start_name = Masterlocation.find(:first, :conditions => {:id => @newsavedmap.start_masterlocation_id}).name
    end
    if !@newsavedmap.end_masterlocation_id.nil?     
    @end_name = Masterlocation.find(:first, :conditions => {:id => @newsavedmap.end_masterlocation_id}).name
    end
    else
    @newsavedmap = Newsavedmap.new  
    end
    else
    redirect_to '/'
    end
    end

错误--当数据库中存在start_masterlocation_id时,不会发生这种情况。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    undefined method `name' for nil:NilClass
EN

回答 1

Stack Overflow用户

发布于 2013-09-21 07:18:25

我通过忽略零问题解决了这个问题。相反,我用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    !@newsavedmap.start_masterlocation_id.blank? 

这将评估记录中的数据是否为空,然后执行还是不执行。显然,这会导致不想要的“空白”数据留在我的数据库中,所以这并不理想,但它帮助我推进了这个项目。如果能直接处理零问题,并告诉我如何让Rails在表单中忽略空白数据,我将不胜感激。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18603320

复制
相关文章
JAVA 中异常处理的最佳实践
前言 异常处理的问题之一是知道何时以及如何去使用它。我会讨论一些异常处理的最佳实践,也会总结最近在异常处理上的一些争论。 作为程序员,我们想要写高质量的能够解决问题的代码。但是,异常经常是伴随着代码产生的副作用。没有人喜欢副作用,因此我们会试图用自己的方式来解决这个问题。我看过不少的程序用下面的方法应对异常: public void consumeAndForgetAllExceptions(){ try { ...some code that throws exceptions
前端教程
2018/03/05
1.7K0
JAVA 中异常处理的最佳实践
Java 中处理 Exception 的最佳实践
在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。本文给出几个被很多团队使用的异常处理最佳实践。
Java编程指南
2019/08/02
4730
Java中异常处理的9个最佳实践
在Java中进行处理异常并非是一件容易的事,初学者经常陷入困惑,甚至有经验的开发者也需要认真研讨哪些异常需要处理,哪些异常需要向上抛出。导致每个开发团队都会自己定制一套特有的异常处理规则,这使得新加入团队的成员都经历一段痛苦的适应期。
码农神说
2020/08/05
6120
Java中异常处理的9个最佳实践
Java异常处理最佳实践
在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费Java
Java架构师必看
2021/07/15
7530
Java 中的异常类型、异常处理机制、最佳实践
Java 异常是一种在程序运行时可能出现的错误或异常状况。它们可以由多种因素引起,例如无效输入、网络连接失败或系统资源不足等。
网络技术联盟站
2023/06/04
6210
Java 编程中关于异常处理的 10 个最佳实践
异常处理是Java 开发中的一个重要部分。它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中。Java 编程语言也允许你创建新的异常,并通过使用 throw 和 throws关键字抛出它们。事实上,在Java编程中,Java的异常处理不单单是知道语法这么简单,它必须遵循标准的JDK库,和几个处理错误和异常的开源代码。这里我们将讨论一些关于异常处理的Java 最佳实践。
Java技术栈
2018/07/30
4920
Java 处理 Exception 的 9 个最佳实践!
不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。
趣学程序-shaofeer
2020/05/18
4360
9种处理Java异常的最佳实践
Java中的异常处理是个不简单的话题。初学者很难理解,即使是经验丰富的开发人员也可以花费数小时来讨论如何以及应该抛出或处理哪些异常。
田维常
2021/03/16
4650
Java 处理 Exception 的 9 个最佳实践!
在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。
二哥聊运营工具
2021/12/17
2690
Java 处理 Exception 的 9 个最佳实践!
在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。
用户1516716
2020/05/28
3790
处理Java异常的10个最佳实践
写完代码后请一定要检查下,代码中千万不要有printStackTrace()。因为printStackTrace()只会在控制台上输出错误的堆栈信息,他只适合于用来代码调试。
Java3y
2020/12/31
1.3K0
Java 异常处理的 9 个最佳实践
在 Java 中,异常处理是个很麻烦的事情。初学者觉得它很难理解,甚至是经验丰富的开发者也要花费很长时间决定异常是要处理掉和抛出。 所以很多开发团队约定一些原则处理异常。如果你是一个团队的新成员,你可能会很惊讶,因为他们约定的规则可能和你以前使用的规则不一样。 不过,有很多最佳实践的规则,被大部分团队接受。这里有 9 大重要的约定,帮助你学习或者改进异常处理。 1、在 Finally 清理资源或者使用 Try-With-Resource 特性 大部分情况下,在 try 代码块中使用资源后需要关闭资源,例如
前端教程
2018/03/05
8130
Java 异常处理的 9 个最佳实践
Java 异常处理的 9 个最佳实践
在 Java 中,异常处理是个很麻烦的事情。初学者觉得它很难理解,甚至是经验丰富的开发者也要花费很长时间决定异常是要处理掉和抛出。
程序猿DD
2019/05/24
7770
处理Java异常的9个最佳实践
Java中的异常处理不是一个简单的主题。初学者发现它很难理解,甚至有经验的开发者也可以花几个小时讨论如何以及应该抛出或处理哪些异常。
银河1号
2019/04/12
7730
Java中多线程的最佳实践
多线程是一种操作系统在同一时间点内存中有多个线程的能力,并产生所有这些线程都在并发执行的错觉。
灬沙师弟
2023/03/20
9740
Java中多线程的最佳实践
【译】11条Java异常处理的最佳实践
在之前关于Java异常的文章中,已经探讨过suppressed exceptions和Java Exceptions Tutorial 两个方面的内容。要想在实际项目中正确处理Java异常,你应该熟练掌握一些Java异常处理的最佳实践。
阿杜
2018/08/06
4260
【译】11条Java异常处理的最佳实践
处理 Java 异常的 10 个最佳实践「译文」
原文:https://www.javacodegeeks.com/10-best-practices-to-handle-java-exceptions.html
张小驰出没
2022/04/14
4460
Go中的错误和异常处理最佳实践
在Go中,错误是一种表示程序错误状态。包含了在程序在运行时、编译时的状态信息。一般我们在编写Go代码中,都会碰到如下的处理方式。
兔云小新LM
2022/11/21
9630
React Server Component 在 Shopify 中的最佳实践
Shopify 是国外的一个允许客户自由搭建商城的 nocode 产品,工程师 Cathryn Griffiths 分享了他在 Shopify 中实用 React Server Component 的最佳实践。
ssh_晨曦时梦见兮
2022/03/07
2.4K0
React Server Component 在 Shopify 中的最佳实践
在 Java 中如何优雅地判空
  作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢NullPointerException。
芋道源码
2019/11/21
2.4K0

相似问题

Python相当于select * from a where account_id in (select account_id from b)

223

SELECT in cassandra where id != null

20

标准SELECT/FROM/WHERE/IN查询的Cassandra模式

20

实体框架- Select * from Entities where Id = (select max(Id) from Entities)

41

相当于Excel上的SELECT FROM WHERE

153
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文