小编Wil*_*ill的帖子

通过Rails中的belongs_to关系查询记录

我有一个活动模型,他们属于一个位置

如何选择location.country = Australia的所有活动?(例如)

我可以在范围内执行此操作吗?

ruby activerecord ruby-on-rails relation

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

将按钮添加到 Rails ActionText 工具栏

配置 ActionText 以向工具栏添加按钮的最佳方法是什么。例如,一个 h2 和 h3 按钮?

ruby-on-rails actiontext

10
推荐指数
2
解决办法
3063
查看次数

在PHP中将PDF文档转换为预览图像,而无需安装Ghostscript

这已被问过,但答案总是使用ghost脚本.这在使用cPanel的主机上不可用.是否可以不安装Ghostscript扩展?

php pdf

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

将 Rails 5.2 升级到 6.0 时出现参数错误数量错误

我正在尝试将旧站点从 Rails5.2 升级到 6.0,然后再升级到 6.1 - 推荐的路径。

我收到了有关参数数量错误的各种错误,其中一些错误我已通过更新或删除各种 gem 设法清除。最后我被困在了这一点上:

.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/static.rb:110:in `initialize': wrong number of arguments (given 3, expected 2) (ArgumentError)
Run Code Online (Sandbox Code Playgroud)

我该如何调试这个问题以及导致所有参数错误的根本问题是什么?

完整堆栈轨迹是:

/Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/static.rb:110:in `initialize': wrong number of arguments (given 3, expected 2) (ArgumentError)
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/stack.rb:37:in `new'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/stack.rb:37:in `build'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/stack.rb:131:in `block in build'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/stack.rb:127:in `each'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/stack.rb:127:in `inject'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/actionpack-6.0.0/lib/action_dispatch/middleware/stack.rb:127:in `build'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/railties-6.0.0/lib/rails/engine.rb:512:in `block in app'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/railties-6.0.0/lib/rails/engine.rb:508:in `synchronize'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/railties-6.0.0/lib/rails/engine.rb:508:in `app'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/railties-6.0.0/lib/rails/application/finisher.rb:97:in `block in <module:Finisher>'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/railties-6.0.0/lib/rails/initializable.rb:32:in `instance_exec'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/railties-6.0.0/lib/rails/initializable.rb:32:in `run'
    from /Users/will/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/railties-6.0.0/lib/rails/initializable.rb:61:in `block in …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

将活动存储附件下载到光盘

该指南说我可以保存光盘附件以在其上运行一个过程,如下所示:

message.video.open do |file|
  system '/path/to/virus/scanner', file.path
  # ...
end
Run Code Online (Sandbox Code Playgroud)

我的模型的附件定义为:

has_one_attached :zip
Run Code Online (Sandbox Code Playgroud)

然后在我定义的模型中:

def process_zip      
  zip.open do |file|
    # process the zip file
  end
end
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

private method `open' called
Run Code Online (Sandbox Code Playgroud)

在zip.open调用.

如何在本地保存zip以进行处理?

ruby-on-rails rails-activestorage

8
推荐指数
2
解决办法
2166
查看次数

使用Ransack在Enum字段上搜索

我有一张桌子,'工作'有一个enum字段'status'.status具有以下枚举集:

enum status: [ :draft, :active, :archived ]
Run Code Online (Sandbox Code Playgroud)

使用ransack,如何过滤表格,比如所有活动记录?

ruby ransack

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

是什么触发了浏览器中的弹出窗口阻止程序?

在什么情况下,浏览器中的阻塞阻止程序会激活,在什么情况下它们不会激活?

您是否可以在链接上使用onclick事件来触发弹出窗口(target = _blank除外)或者总是会触发阻止程序?

javascript popup

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

使用工厂女孩与Rspec

我已经使用rails4 app设置了Rspec,但测试正在返回:

Failure/Error: user = Factory(:user)
     NoMethodError:
       undefined method `Factory' for #<RSpec::Core::ExampleGroup::Nested_4::Nested_1:0x007fa08c0d8a98>
Run Code Online (Sandbox Code Playgroud)

好像我不正确地包括FactoryGirl.我尝试了几种变化,但我无法让它发挥作用.

我的规范助手:

# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'factory_girl_rails'

# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }


# Checks for pending migrations before tests are run.
# If you are not using ActiveRecord, you can …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails ruby-on-rails-4 factory-bot

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

服务器上长时间运行的进程

我的 rails 应用程序运行得很好,但是部署过程可能会最大化内存并存在一些问题。

根据服务器人员的说法,有 3 个长时间运行的进程正在耗尽内存,应该处理

Ruby processes: 
user@app-hippogo-production-6628:~$ ps -p 15892 -o etime= 1-20:00:43 
user@app-hippogo-production-6628:~$ ps -p 15903 -o etime= 1-20:00:52 
user@app-hippogo-production-6628:~$ ps -p 15925 -o etime= 1-20:01:07

Postgres process: 
user@app-hippogo-production-6628:~$ ps -p 14495 -o etime= 10-19:58:59
Run Code Online (Sandbox Code Playgroud)

我应该以某种方式配置我的应用程序以关闭 ruby​​ 和 postgres 进程吗?我怎样才能做到这一点?一些关于究竟发生了什么和应该发生的背景信息将不胜感激。

更新进程总共使用了 690mb 的内存

我在轨道上 4.1.8 Ruby 2.2.5

我使用瘦作为服务器

我正在部署到九重服务器,他们有自己的系统,可以在您提交到存储库时进行部署,有点像 heroku。我相信它是基于厨师的。

ruby postgresql performance ruby-on-rails

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

将图像从应用程序目录保存到手机图像库时出现错误代码5,ENCODING_ERR

我想将图像从ios应用程序保存到图库,以便用户可以共享它.

我的应用程序使用离子框架和ngCordova.我想这样保存图像:

      image = cordova.file.applicationDirectory + "www/img/deck/" + card.image;          
      file_path = cordova.file.documentsDirectory + "wisdom.png";
      $cordovaFile.createFile(file_path, true).then(function(result) {
        alert(JSON.stringify(result));
      }, function(err) {
        alert('create error: ' + JSON.stringify(err));
      });          
      $cordovaFile.writeFile(file_path, image).then(function(result) {
        alert(JSON.stringify(result));
      }, function(error) {
        alert(JSON.stringify(err));
      });
Run Code Online (Sandbox Code Playgroud)

在创建文件时,这会给出错误代码5,ENCODING_ERR.写文件不会给出成功或失败错误.画廊中没有图像.保存文件的路径应该是什么?我应该如何将图像发送到写入方法?为什么我会收到编码错误?

file cordova ionic-framework

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