小编Say*_*yuj的帖子

Ruby on rails activerecord join - 从多个表中选择字段

楷模:

#StatusMessage model
class StatusMessage < ActiveRecord::Base
  belongs_to :users
  default_scope :order => "created_at DESC"
end


#User Model
class User < ActiveRecord::Base
  has_many :status_messages 
end
Run Code Online (Sandbox Code Playgroud)

在控制器中,我想连接这两个表并从两个表中获取字段.例如,我想要email来自Userstatus来自的领域StatusMessage.我用的时候:

@status = User.joins(:status_messages)
Run Code Online (Sandbox Code Playgroud)

要么

@status = User.includes(:status_messages)
Run Code Online (Sandbox Code Playgroud)

它只给我用户表数据.

我该如何实现这个要求?

ruby activerecord join ruby-on-rails

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

Ruby - 列表减去

我有两个清单

a = [1, 2, 3, 4, 1, 2]
b = a.uniq # b = [1, 2, 3, 4]

c = a - b
Run Code Online (Sandbox Code Playgroud)

结果得到了 c = []

我期待结果 c = [1, 2]

我怎么能得到这个?

ruby arrays

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

Ruby - NoMethodError:未定义的方法`reverse_merge'

ruby-1.9.2-p180 :007 > a = {:a => 10, :b => 20}
 => {:a=>10, :b=>20} 
ruby-1.9.2-p180 :008 > a.reverse_merge({:c => 30})
NoMethodError: undefined method `reverse_merge' for {:a=>10, :b=>20}:Hash
    from (irb):8
    from /home/sayuj/.rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题NoMethodError

ruby hash merge

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

红宝石的时间比较

我想检查当前时间是否在上午10点到晚上10点之间.我该怎么办?

ruby comparison time

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

Ruby条件语句

我的条件如下:

if connection
  if "name" == connection.name
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

connection可能nil最初有价值,所以我无法检查if connection && "name" == connection.name

如何有效地简化条件?

ruby oop string ruby-on-rails conditional-statements

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

带消息的Rescue Exception

我得到了异常Thrift::TransportException (end of file reached),我想用消息("文件结束到达")来拯救它.

现在我做

begin
  #...
rescue Thrift::TransportException => e
  raise e unless "end of file reached" == e.message
  # do whatever if it is not end of file reached.
end
Run Code Online (Sandbox Code Playgroud)

有没有办法做这个红宝石?

ruby error-handling exception

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

Ruby对象质量分配

有没有更好的方法来执行以下代码?

user.name = "abc"
user.email = "abc@test.com"
user.mobile = "12312312"
Run Code Online (Sandbox Code Playgroud)

这样的事情会做:

user.prepare do |u|
  u.name = "abc"
  u.email = "abc@test.com"
  u.mobile = "12312312"
end
Run Code Online (Sandbox Code Playgroud)

ruby accessor

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

ruby on rails route params in controller

routes.rb中:

match 'first/#!/:name' => 'first#first'
Run Code Online (Sandbox Code Playgroud)

first_controller.rb:

class FirstController < ApplicationController
  def first
    @name = params[:name]
  end
end
Run Code Online (Sandbox Code Playgroud)

但是@name当我渲染url时,变量为nil:http:// localhost:3000/first /#!/ sayuj

请帮忙

routes ruby-on-rails

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

Ruby中的星号变量是什么?

什么是星号变量*arr

*arr = "sayuj"
=> ["sayuj"]

*arr = *%w{i am happy}
=> ["i", "am", "happy"]

*arr = %w{i am happy}
=> [["i", "am", "happy"]]
Run Code Online (Sandbox Code Playgroud)

ruby arrays splat

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

Shell脚本 - 没有这样的文件错误

#!/bin/bash
local dept=0
while [ $n < 5 ]
do
  echo $n
  $n++
done
Run Code Online (Sandbox Code Playgroud)

此代码返回错误7: cannot open 5: No such file 我应该在哪里更改?

shell

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

Crontab执行命令但ruby脚本未运行

我为我的ruby脚本设置了一个crontab.

crontab -l
12 10 * * * /bin/bash  -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby  -rubygems script.rb'
Run Code Online (Sandbox Code Playgroud)

命令/bin/bash -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -rubygems script.rb'运行良好.

在cron中,cron正在执行命令(我检查了syslog:

sudo tail  /var/log/syslog
(user) CMD (/bin/bash  -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby  -rubygems script.rb')
Run Code Online (Sandbox Code Playgroud)

)

但是脚本并没有完全执行.我没有得到预期的结果.

可能是问题的原因是什么?如果有人能帮助我,我们会感激不尽.

ruby ubuntu cron crontab rvm

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

Datamapper是非NULL查询

如何编写activerecord语句,

Comments.where("attachment IS NOT NULL")
Run Code Online (Sandbox Code Playgroud)

在DataMapper中

即,我想"SELECT * FROM comments WHERE attachment IS NOT NULL;在rails中使用DataMapper 执行.

请帮忙; 我对DM不太熟悉!

ruby ruby-on-rails datamapper

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

Ruby:查找指数为10

x ^ y = z我有xz.我想找出y使用Ruby的价值.

例如:

x = 10
z = 100
# 10 ^ 2 => 100
Run Code Online (Sandbox Code Playgroud)

我的预期结果是2.Ruby语言中是否有任何内置方法可以解决这个问题?

ruby math

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