小编Min*_*ure的帖子

Rails Rake Tasks,在结束期间和结束时输出消息

我做了一个rails rake任务,上传/庄稼/重新调整尺寸(用回形针)傻瓜量的图像.

我想知道如何在终端运行时向终端输出消息(例如处理chipolata.jpg),最后需要花费几分钟才能运行,并且反馈会很好.

谢谢.

ruby rake ruby-on-rails task paperclip

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

Rails:在 Rails 中如何在无表模型上使用模型的属性 API

我有一个像这样的无表模型:

class SomeModel
  include ActiveModel::Model
  attribute :foo, :integer, default: 100
end
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用下面链接中的一个属性,它在普通模型中完美运行,但是我无法让它在无表模型中运行。

https://api.rubyonrails.org/classes/ActiveRecord/Attributes/ClassMethods.html

这会导致未定义

我试过添加活动记录属性:

include ActiveRecord::Attributes
Run Code Online (Sandbox Code Playgroud)

作为一个包含但是这会导致与模式相关的不同错误。

如何在无表模型中使用该属性?谢谢。

activerecord attributes ruby-on-rails activemodel ruby-on-rails-5

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

对于Rails 3,有没有像acts_as_paranoid这样的更好的版本?

有没有人知道一个gem同时软删除数据库中的记录(只是将它们标记为已删除而不是实际删除)和...

...当你在任何类型的查找中自动省略那些已删除的记录而不使用任何特殊的用户定义范围.例如,这一切都发生在宝石中.

干杯!

gem ruby-on-rails soft-delete ruby-on-rails-3

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

使用Jquery ui的可拖动对象,如何更改停止时的还原?

我想知道如何更改从stop事件拖到Jquery ui中的某些东西的“ revert”属性。

    $('.things').draggable({ 
        revert: "true",
        stop: function(event, ui){
                        //if something then set revert to false
        }
    });
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些方法,但是似乎无法正常工作。

干杯。

jquery events jquery-ui draggable jquery-ui-draggable

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

使用Rails 3自动加载路径不会加载某些文件夹,而是加载其他文件夹

我正在使用application.rb中的自动加载路径来加载一些额外的模块和结构.

这是以下一点代码:

config.autoload_paths += %W(
  #{config.root}/app/controllers/concerns 
  #{config.root}/app/models/concerns 
  #{config.root}/app/jobs/
)
Run Code Online (Sandbox Code Playgroud)

有趣的是,扩展模型和控制器的"关注"文件夹都完美运行.

但是,jobs文件夹根本没有加载.

有什么特别的东西,我需要做的是为了让应用程序中的文件夹加载或有人知道为什么这些文件夹中的两个正在加载而第三个文件夹没有加载?

environment ruby-on-rails class autoload ruby-on-rails-3

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

如何使用新标签包裹元素的文本内容?

我有一个Nokogiri::XML::Element看起来像这样的:

<div class="berg">This is some text!</div>
Run Code Online (Sandbox Code Playgroud)

我想做的只是从 div(即 Nokogiri 元素)中提取文本,然后用新标签包裹文本,如下所示:

<div class="berg"><span>This is some text!</span></div>
Run Code Online (Sandbox Code Playgroud)

Nokogiri.wrap函数似乎用新标签包装标签,而不是它们的文本内容,我想知道如何包装内部标签内容。

html ruby nokogiri

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

由于此警告而设计不起作用:[警告]您提供了devise_for:users但您的应用程序中没有用户定义的模型

我刚刚为rails应用程序添加了一个全新的设备安装程序,但它在启动服务器启动时输出了一个警告并且设计根本不起作用:

   [WARNING] You provided devise_for :users but there is no model User defined in your application
Run Code Online (Sandbox Code Playgroud)

我100%有一个名为用户的模型.

我已经看过其他有这个问题的人有这个问题(Heroku [警告]你提供了devise_for:用户,但你的应用程序中没有用户定义的模型)我改名为':database_authenticable'.这没有解决它.

设备初始化程序也设置为活动记录,这是另一个有此错误的错误(需要'devise/orm/active_record'),但是这也没有修复它.

有没有其他人有这个错误,或者有没有办法我可以追踪它以获得更多细节?谢谢.

authentication ruby-on-rails devise ruby-on-rails-3

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

如何使用Javascript在网页上获取图像的文件大小?

我希望能够在网页上的图像上获取文件大小.

所以,假设我在页面上有一个图像(已加载),如下所示:

如何在Javascript中调用函数(或者更好的是,jquery)来获取图像的文件大小(而不是维度)?

重要的是要注意我没有使用任何输入或让用户上传图像,从文件API的浏览按钮获取图像大小有很多SO答案.

我想要做的就是根据它的id和src url获取页面上任意图像的文件大小.

编辑:我正在处理某些图像的保持连接,因此Content-Length标头不可用.

javascript url image filesize src

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

提交失败后,不会重新填充devise(rails)中的其他注册字段

我正在使用devise作为我的用户系统。

例如,我在注册时有几个额外的字段- :first_name以及电子邮件和密码。

devise_parameter_sanitizer在应用程序控制器中使用并允许:first_name保存。所有这些都可以正常工作,并且用户可以注册所有其他字段。

但是,当表单无效(例如密码和密码确认不匹配)时,我遇到问题,用户提交的表单中填写了名字字段。当返回无效表单时,名字字段数据已丢失。

我如何设计使这些额外的注册字段在无效的提交后保持填写,否则用户必须重新输入详细信息。

谢谢。

编辑-控制器全部由设计人员负责。表单是随设计附带的表单以及一些其他字段。我已经将它添加到应用程序控制器中,作为之前的操作来保存额外的参数:

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up) do |u|
      u.permit(
        :email, :password, :first_name
      )
    end
  end
Run Code Online (Sandbox Code Playgroud)

该视图与设计视图相同,但是具有其他输入。多余的字段可以很好地保存,如上所述,当返回无效时,它们只会被擦除。再次感谢。

ruby ruby-on-rails devise

5
推荐指数
0
解决办法
88
查看次数

如何使用rails和postgres异步更新不同的json(jsonb)属性?

我在 postgres 表列中存储了一个大的 json 对象,模式的一个例子是这样的:

create_table “document” do |t|
    t.jsonb “data”, default: []
end
Run Code Online (Sandbox Code Playgroud)

目前我正在更新列中的 json,如下所示:

# find document in rails then…
doucment.data[‘some_attribute’][2][‘another_attribute’] = 100
doucment.save
Run Code Online (Sandbox Code Playgroud)

然而,我多次写入这个 json 属性,有时数据会丢失,因为如果两个调用同时写入它,那么整个对象将被保存或覆盖当前对象的旧数据。

例如,如果有两个不同的保存同时通过以下

保存1:

doucment.data[‘some_attribute’][2][‘another_attribute’] = 100
doucment.save
Run Code Online (Sandbox Code Playgroud)

保存2:

doucment.data[‘some_attribute’][2][‘different_attribute’] = 200
doucment.save
Run Code Online (Sandbox Code Playgroud)

那么其中一个属性数据将丢失,因为另一个将保存它的 json 但带有尚未刷新的旧数据。

使两个调用正确保存新数据的最佳方法是什么。

是否有任何 json 方法可以进入并更新一个属性,例如update_attribute但是对于 jsonb 属性?

postgresql json ruby-on-rails jsonb

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