ruby - 如果 object 在 Rails 中为 nil,如何跳过一段代码?

标签 ruby ruby-on-rails-3 controller

我有一段代码可以在单击相应的复选框时启用或禁用选择列表,但是如果它们在发布时都被禁用,它不会将它们发送到参数列表中。所以只有当它们存在时我才需要执行代码。

我用过:

if params[:id][:id2].nil?

if params[:id][:id2].blank?

还有

if params[:id][:id2].empty?

更不用说简单了:

if params[:id][:id2]

并且都给出了同样的错误...“你有一个你没有预料到的 nil 对象。”我该如何解决这个错误?

最佳答案

可能 params[:id] 为 nil,请检查 params[:id].nil?

编辑: 下面的评论正确地指出,如果您寻求针对 nil?empty 进行评估,blank? 会更好?

关于ruby - 如果 object 在 Rails 中为 nil,如何跳过一段代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6653584/

相关文章:

ruby-on-rails - 为什么在创建 Cloudfront 发行版后 Rails 应用程序渲染无需 CSS?

ruby-on-rails - Rails 3 无法使用 mysql2 gem 连接到远程数据库

ruby-on-rails - Ruby on Rails - 从 View 调用 Controller 方法

php - Symfony 不会缓存 Controller 上的更改

ruby - Ruby 中按元素顺序对数组数组进行分组的最简单方法是什么?

ruby-on-rails - 命名空间路由和模型路径 rails

ruby-on-rails - Twilio 的未定义方法 `account'

ruby-on-rails - Rails 3 - 自定义 XML 响应

angularjs - Angular 火力基地。数据未正确插入

ruby-on-rails - Rails devise_token_auth gem,如何设置密码重置链接?