小编Bhu*_*dha的帖子

三元表达与"定义?" 返回"表达式"而不是值?

我是Ruby和Rails的新手,但即使在搜索堆栈溢出和谷歌后我也找不到答案.

我有一个简单的Ruby简写if语句应该返回integer如下:

# in the context of this erb document `amount` is defined as 5.
@c = ( defined? amount ? amount : r( 1,4 ) )
Run Code Online (Sandbox Code Playgroud)

r()是一个自定义辅助函数,在这种情况下返回1和4 之间的随机数.

我打算这样工作的方式if amount是定义,然后使用定义为的数字amount,else生成1到4之间的随机数,然后使用它.

@c然而,当打印出Ruby输出expression而不是数字时.

我需要做些什么才能让我按照我的意图工作,我做错了什么?

非常感谢您的阅读!

ruby expression ternary-operator

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

在Resque-Worker中将Object作为参数传递

有没有办法在Resque-workers中传递object作为参数值.

我想做这样的事情Resque.enqueue(SomeWorker, obj)而不是Resque.enqueue(SomeWorker, id)我的对象是不同类型的没有id.

感谢任何帮助.

ruby worker resque ruby-on-rails-3

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

未定义的方法`find_or_create'

我想使用以下命令在数据库中upup记录

Profile.find_or_create(fname: contact.FirstName, lname: contact.LastName,
  company: account.Name, title: contact.Title, user_id: contact.CreatedById, 
  account_id: account.Id, contact_id: contact.Id, type: "contact"  )
Run Code Online (Sandbox Code Playgroud)

这里Profile是一个activerecord model

但我得到以下错误

undefined method find_or_create for Profile class
Run Code Online (Sandbox Code Playgroud)

Profile.public_methods没有显示find_or_create方法,但Activerecord Api定义了上述方法.

可能有什么问题?

activerecord ruby-on-rails-3.2

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

验证ruby中的电话号码

验证北美电话号码的规则是什么?还有,regex我可以使用吗?这样做有宝石吗?

这里有一些我想到的规则

  1. 一个10位数字
  2. 没有特殊字符
  3. 一个正数

ruby regex phone-number

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

知道工人已完成 Resque 中的工作/流程的方法

有什么方法可以知道工人是否已经完成了 Resque 中的特定工作/流程。场景:我有 5 个工人在做一些特定的过程,我想知道是否完成了过程以继续处理其他部分的代码。

如果有任何帮助,我正在使用 Ruby 1.8.7 和 Rails 3.1.1。

ruby background resque redis ruby-on-rails-3

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

如何在salesforce中刷新OAuth 2.0中的access_token

我正在开发salesforce应用程序并使用OAuth 2.0登录.我有一个刷新令牌; 如何通过OAuth 2.0向salesforce发送包含特定用户刷新令牌的请求来获取新的access_token?

salesforce access-token oauth-2.0

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

我怎么玩mp3文件?

如何在命令行执行时在ruby中编写播放mp3文件(背景音乐)的脚本?

我试过这个

run = "mplayer #{"/Users/bhushan/resume/m.mp3"} -ao sdl -vo x11 -framedrop -cache 16384 -cache-min 20/100"
system(run)
Run Code Online (Sandbox Code Playgroud)

但它也不起作用,上面是玩家特定的.如果用户没有安装mplayer怎么办?我有更好的方法吗?

ruby mp3 playback background-music

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

如果下一页存在,Kaminari?

kaminari知道下一页是否存在的方法是什么?凭借will_paginate其简单,你只需要调用的next_page?型号.我想知道是否有任何东西kaminari

pagination ruby-on-rails will-paginate kaminari

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

狂欢改变默认货币和国家

我正在使用Spree for India开发电子商务应用程序.因此,所有价格均为"卢比",州和地区与印度相关.我在Spree 1.2.0中轻松编辑了它们,但我在1.1.3中找不到这些选项.如何在1.1.3中自定义它

ruby-on-rails spree

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

无法连接到 docker 中的 postgres

我正在尝试使用 docker-compose 将 Postgres DB 连接到 Rails 应用程序,如下所示

docker-compose.yml

version: '3.8'
services:
  db:
    image: postgres:12.1
    volumes:
      - pg-data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: "password"
  web:
    build: .
    command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
    volumes:
      - .:/rails6
    ports:
      - "3000:3000"
    depends_on:
      - db
volumes:
  pg-data:

Run Code Online (Sandbox Code Playgroud)

文件

FROM ruby:2.5

RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

RUN apt-get update -qq && apt-get install -y nodejs postgresql-client …
Run Code Online (Sandbox Code Playgroud)

postgresql ruby-on-rails docker docker-compose

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