小编use*_*402的帖子

在Rails快捷方式中检查是否为空而不是空?

我有一个我的用户的显示页面,每个属性应该只在该页面上可见,如果它不是nil而不是空字符串.下面我有我的控制器,@user.city != nil && @user.city != ""为每个变量编写相同的代码行非常烦人.我不太熟悉创建自己的方法,但我可以以某种方式创建一个快捷方式来做这样的事情:@city = check_attr(@user.city)?或者有更好的方法来缩短这个程序吗?

users_controller.rb

def show 
  @city = @user.city != nil && @user.city != ""
  @state = @user.state != nil && @user.state != ""
  @bio = @user.bio != nil && @user.bio != ""
  @contact = @user.contact != nil && @user.contact != ""
  @twitter = @user.twitter != nil && @user.twitter != ""
  @mail = @user.mail != nil && @user.mail != ""
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

在Ruby中获取数组的第n个元素?

我有一个简单的数组,我试图获取数组中的每个第二项。不幸的是,我对 JavaScript 比 Ruby 更熟悉......

在 JavaScript 中,我可以简单地做

var arr = [1, 'foo', 'bar', 'baz', 9],
    otherArr = [];

for (i=0; i < arr.length; i=i+2) {
    // Do something... for example:
    otherArr.push( arr[i] );
}
Run Code Online (Sandbox Code Playgroud)

现在我如何在 Ruby 中做到这一点?

javascript ruby arrays

5
推荐指数
1
解决办法
4151
查看次数

如何在 ruby​​ on rails 4 中调用自定义方法?

我想创建一个自定义方法,我在我的questions_controller.rb文件中定义了它,如下所示:

def self.ping
  @question = Question.first
  @question.update(:amplify => @question.amplify + 1)
end
Run Code Online (Sandbox Code Playgroud)

现在的问题是我如何调用这个方法?我需要先定义路线吗?如何从控制台引用它?

提前致谢。

ruby ruby-on-rails ruby-on-rails-4

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