标签: ruby

把链接放在闪光灯[:notice]

我正在学习Ruby和Rails.

我有一个Ruby on Rails项目,它跟踪服务器正在运行的作业.现在,当我手动创建一个新工作时,它宣布:

flash[:notice] = "Created job job number #{update.id}."
Run Code Online (Sandbox Code Playgroud)

我想将其#{update.id}转变为工作清单上的工作链接.

转到作业的URL 是闪存通知中显示的jobs/list?job=12341234 update.id.

是否可以将链接放入flash[:notice]声明中?或者我是否需要重新处理此消息的显示方式才能将其转换为链接?

ruby ruby-on-rails

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

在Ruby中class_eval << - "end_eval",__ FILE __,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

我正在学习如何在模块中使用class_eval(我对class_eval有点熟悉)并在resource_controller中遇到了这个有用的类.他们在那里有这样的事情:

class_eval <<-"end_eval", __FILE__, __LINE__

  def #{block_accessor}(*args, &block)
    unless args.empty? && block.nil?
      args.push block if block_given?
      @#{block_accessor} = [args].flatten
    end

    @#{block_accessor}
  end

end_eval
Run Code Online (Sandbox Code Playgroud)

在这种情况下做什么__FILE____LINE__做什么?我知道__FILE__引用当前文件,但整件事究竟做了什么?真的不知道如何搜索:).

ruby

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

如何在运行时检查Ruby中的Gem版本?

是否可以在ruby/rails应用程序中检查当前加载的gem的gem版本?

在调试过程中,我希望能够做到这样的事情:

puts RubyGem.loaded_version(:active_support)
Run Code Online (Sandbox Code Playgroud)

这样的事情存在吗?

ruby rubygems

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

Rails对象关系和JSON渲染

免责声明,我对Rails知之甚少.我会尽量简洁.鉴于Rails中的以下模型关系:

class ModelA < ActiveRecord::Base
  belongs_to :ModelB

...

class ModelB < ActiveRecord::Base
    has_many :ModelA
Run Code Online (Sandbox Code Playgroud)

当调用ModelA控制器的show动作时,返回的JSON应该显示所有ObjectAs,它们是ObjectB的子节点,其中ObjectA是其子节点.

所以如果我有一个包含ID为1,2和3的ObjectA的ObjectB然后访问:/modela/1.json

我应该看到:

{
  "modelb": {
    "id": "1",
    "modela": [insert the ModelA JSON for ID's 1, 2 and 3]
  }
}
Run Code Online (Sandbox Code Playgroud)

ruby activerecord json ruby-on-rails

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

订购集合作为DESC

<%= render :partial => 'event', :collection => @events.sort_by(&:event_at)%>
Run Code Online (Sandbox Code Playgroud)

此代码显示按ASC排序的集合,但我想将此集合作为DESC进行排序.

我怎样才能做到这一点?

ruby ruby-on-rails

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

Rails belongs_to具有自定义列名称

我正在使用遗留数据库,为表productfamilia_producto(rake db:schema:dump)提供以下模式

create_table "producto", primary_key: "barcode", force: true do |t|
  t.string  "codigo_corto",         limit: 16,               null: false
  t.string  "marca",                limit: 35
  t.string  "descripcion",          limit: 50
  t.string  "contenido",            limit: 10
  t.string  "unidad",               limit: 10
  t.float   "stock",                           default: 0.0
  t.float   "precio"
  t.float   "precio_neto"
  t.float   "costo_promedio"
  t.float   "fifo"
  t.float   "vendidos"
  t.boolean "aplica_iva"
  t.integer "otros_impuestos",      limit: 2
  t.integer "familia",              limit: 2,  default: 1,   null: false
  t.integer "id_tipo_producto",     limit: 2,                null: false
  t.boolean "es_perecible"
  t.float   "dias_stock",                      default: 1.0
  t.float   "margen_promedio", …
Run Code Online (Sandbox Code Playgroud)

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

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

如何在Rake中检测导致弃用警告的原因

当我这样做bundle exec rake -T(或bundle exec rake)时,我会收到弃用警告:

Andrews-Air:nabu agrimm$ bundle exec rake --trace -T
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` …
Run Code Online (Sandbox Code Playgroud)

ruby debugging rake ruby-on-rails

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

Gem :: LoadError:无法激活pg(〜> 0.18),已激活pg-1.0.0

我一直在做这里发现的Rails教程,并且已经成功到必须使用$ rails db:migrate迁移 Comments 迁移.在此之前,我已经能够生成文章模型并迁移文章创建迁移而没有任何问题.在这两次迁移之间,我的Gemfile中没有任何变化,所以我不确定Bundler有什么问题.

以下是错误,然后是完整的命令行输出,以及我的Gemfile和schema.rb:

Gem::LoadError: can't activate pg (~> 0.18), already activated pg-1.0.0.

Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
Run Code Online (Sandbox Code Playgroud)

完整的命令行输出

xxx:gangelo: ~/dev/rails/test/blog (master*) ?  rbenv exec rails db:migrate
rails aborted!
Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and …
Run Code Online (Sandbox Code Playgroud)

ruby postgresql ruby-on-rails rails-migrations bundler

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

您可能遇到了 Ruby 解释器或扩展库中的错误

我有一台新 MacBook,正在尝试安装一些 Pod。我首先sudo gem install cocoapods在 root 上执行,然后pod install在我需要 pod 的目录中执行。遇到这个错误,不知道出了什么问题。

来自崩溃报告:
进程:ruby [5444]路径:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby 标识符:ruby 版本:145.100.1 代码类型:ARM-64(本机)父级进程:zsh [5282] 负责人:终端 [5005] 用户 ID:501

日期/时间:2021-09-27 21:24:20.779 +0200 操作系统版本:macOS 11.6 (20G165) 报告版本:12 匿名 UUID:--D950-78ED-2DF378C6BA5B

睡眠/唤醒 UUID:-FE18-47F9-9A4EF2935C96

自启动以来的唤醒时间:29000 秒 自唤醒以来的时间:1900 秒

系统完整性保护:已启用

崩溃线程:0 调度队列:com.apple.main-thread

异常类型:EXC_BAD_INSTRUCTION (SIGABRT) 异常代码:0x0000000000000001、0x0000000000000000 异常注释:EXC_CORPSE_NOTIFY

应用程序特定信息:调用 dyld3 模式 abort()。
x
x
x
x
外部修改摘要: 其他进程针对此进程进行的调用:task_for_pid: 0 thread_create: 0 thread_set_state: 0 此进程进行的调用:task_for_pid: 0 thread_create: 0 thread_set_state: 0 本机上所有进程进行的调用: task_for_pid: 0 thread_create: 0 thread_set_state: 0

VM 区域摘要:库的只读部分:总计=574.8M 驻留=0K(0%) swapped_out_or_unallocated=574.8M(100%) …

ruby macos cocoa cocoapods

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

您的 Ruby 版本是 2.6.8,但您的 Gemfile 指定为 2.7.5

我已经v16.18.0在 macOS 和 npm 版本中安装了 node@16( ): 8.19.2

  • 操作系统 macOS(Monterey) 版本: 12.6
  • Xcode 版本: 14.0.1

按照一些说明,使用以下步骤在我的设备中设置反应本机环境:

  1. 自制安装(版本:3.6.7):/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. 看守安装(版本:2022.10.24.00):brew install watchman
  3. 安装Ruby(版本:2.6.8p205):brew install ruby
  4. 安装CocoaPods(gem版本:3.0.3.1):sudo gem install cocoapods
  5. 固定位置的 CocoaPods(Pod 版本: 1.11.3):sudo gem install -n /usr/local/bin ffi cocoapods

成功安装上述所有内容后,我将使用npx react-native init AwesomeProject命令创建反应本机应用程序,并Your Ruby version is 2.6.8, but your Gemfile specified 2.7.5在附件中给出了所面临的错误。请检查并帮我建议解决方法。

uby 版本是 2.6.8,但是你的 Gemfile 指定了 2.7.5

下面提到了所有资源,我已经遵循这些资源来解决这个问题,但我没有解决它。

  1. 服务器启动时如何修复“您的 Ruby 版本是 …

javascript ruby ios gemfile react-native

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