相关疑难解决方法(0)

什么时候使用nil,空白,空?

是否有关于如何区分任何指引.nil?,.blank?.empty?

我一般总是很困惑何时在我的应用程序中使用它们,因为它们似乎都意味着相同但具有不同的含义.

有没有人在血淋淋的细节上有任何备忘单?

ruby ruby-on-rails

117
推荐指数
4
解决办法
9万
查看次数

如何使用Active Support核心扩展?

我安装了Active Support 3.0.3,使用Ruby 1.8.7安装了Rails 3.0.3.

当我尝试使用时,1.week.ago我得到了

NoMethodError: undefined method 'week' for 1:Fixnum
from (irb):2
Run Code Online (Sandbox Code Playgroud)

其他核心扩展似乎有效.我在一个朋友的计算机上尝试过(同样的安装规范和旧版本),结果相同.

是什么赋予了?

所有这些都在IRB中.

ruby time extension-methods ruby-on-rails activesupport

94
推荐指数
2
解决办法
5万
查看次数

使用.exists?和.present有什么区别?在Ruby?

我想确保我在正确的场合使用它们,并想知道任何细微之处.它们似乎以相同的方式起作用,即检查是否已经定义了一个对象字段,当我通过控制台使用它们时,当我进行谷歌搜索时,并没有在线提供大量信息.谢谢!

ruby ruby-on-rails

49
推荐指数
4
解决办法
4万
查看次数

.nil?,.blannk之间的区别?和.empty?

可能重复:Ruby on Rails中nil v.vull v.blank
的简明解释

谁能告诉我.nil?,.blank?,.empty之间的区别?在红宝石?

任何答案都将受到高度赞赏.

ruby object ruby-on-rails-3

36
推荐指数
3
解决办法
4万
查看次数

如何检查rails中是否定义了变量?

<% if dashboard_pane_counter.remainder(3) == 0 %>
  do something
<% end>
Run Code Online (Sandbox Code Playgroud)

如果未定义dasboard_pane_counter,如何将其评估为false而不是抛出异常?

ruby ruby-on-rails erb

32
推荐指数
3
解决办法
3万
查看次数

如何使用礼物?在Ruby项目中?

我写了一个脚本,它使用Rails对Ruby核心Object类的扩展,现在我想把它自己分开.而不是重写这些,是否有任何我可以使用的库或扩展来使它们独立可用?

ruby ruby-on-rails-3

16
推荐指数
2
解决办法
2万
查看次数

Rails存在验证在值0上失败

我有一个类似于以下的模型,

class Activity < ActiveRecord::Base
    attr_accessible :name, :admin

    validates :name, :presence => true
    validates :admin, :presence => true
end 
Run Code Online (Sandbox Code Playgroud)

name属性是一个字符串,admin属性在迁移中定义为boolean.

如果我尝试在控制台中使用创建模型的实例,

a = Activity.create(:name => 'Test', :admin => 0)
Run Code Online (Sandbox Code Playgroud)

然后验证失败,说我需要为Admin提供一个值.为什么?我提供了一个值.

我能理解,如果我没有提供任何价值,或者我提供了零.但为什么像0这样的值(或者甚至是假的)会导致验证失败?

validation ruby-on-rails

10
推荐指数
1
解决办法
3214
查看次数

是!object.nil?== object.present?在Rails?

可以安全地假设!object.nil? == object.present?在Rails中,或者有没有问题?这是一个场景:

  def signed_in?
    !current_user.nil? # Would current_user.present? mean the same thing here?
  end

  def sign_in(user)
    cookies[:token] = user.token
    self.current_user = user
  end

  def current_user
    @current_user ||= User.find_by(token: cookies[:token]) if cookies[:token]
  end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

7
推荐指数
1
解决办法
2498
查看次数

用于检测空字符串数组(["","",...])的Rails方法为空

是否有要检测的rails函数["", "", ...](即只包含空字符串或字符串的数组)为空

我的要求:

[""].foo? =>是的

["", ""].foo? =>是的

["lorem"].foo? =>假

["", "ipsum"].foo? =>假

我试过用array.reject!(&:empty?).blank?.它工作,但这改变了我的阵列.我不希望我的阵列被改变.请帮我找一个紧凑的方法.

arrays string ruby-on-rails

7
推荐指数
1
解决办法
2081
查看次数

Rails 的“.present”有什么好处?方法?

在 Ruby on Rails 中,以下各项之间是否存在区别:

if obj
  # ...
end
Run Code Online (Sandbox Code Playgroud)

和:

if obj.present?
  # ...
end
Run Code Online (Sandbox Code Playgroud)

看起来他们做同样的事情并且不使用.present?将有助于保持代码行更短并且可能更干净。我知道这.present?是相反的,blank?但在尝试确定对象是否“真实”时,我们是否应该始终使用它?

是否存在某种性能差异?

ruby-on-rails

7
推荐指数
2
解决办法
2415
查看次数