小编use*_*677的帖子

ruby .split('\n')没有在新行上拆分

为什么这个字符串不会在每个"\n"上拆分?(红宝石)

"ADVERTISING [7310]\n\t\tIRS NUMBER:\t\t\t\t061340408\n\t\tSTATE OF INCORPORATION:\t\t\tDE\n\t\tFISCAL YEAR END:\t\t\t0331\n\n\tFILING VALUES:\n\t\tFORM TYPE:\t\t10-Q\n\t\tSEC ACT:\t\t1934 Act\n\t".split('\n')
>> ["ADVERTISING [7310]\n\t\tIRS NUMBER:\t\t\t\t061340408\n\t\tSTATE OF INCORPORATION:\t\t\tDE\n\t\tFISCAL YEAR END:\t\t\t0331\n\n\tFILING VALUES:\n\t\tFORM TYPE:\t\t10-Q\n\t\tSEC ACT:\t\t1934 Act\n\t"]
Run Code Online (Sandbox Code Playgroud)

ruby string

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

在允许用户使用devise(rails)登录之前检查用户是否处于活动状态

我正在使用设计并创建了一个名为:active的用户字段,该字段为true或false.在允许用户登录之前,我必须手动使用户处于活动状态(true).至少这是意图.我试过这个......

class SessionsController < Devise::SessionsController
  # POST /resource/sign_in
  def create
    "resource/signin CREATE"
    self.resource = warden.authenticate!(auth_options)
    unless resource.active?
      sign_out
      redirect_to :sorry_not_active_url
      return
    end
    set_flash_message(:notice, :signed_in) if is_navigational_format?
    sign_in(resource_name, resource)
    respond_with resource, :location => after_sign_in_path_for(resource)
  end  
end
Run Code Online (Sandbox Code Playgroud)

但是,这并没有捕获用户可以登录的所有位置,例如,当用户更改其密码时,该站点会自动将其自动登录.但是,如果用户不活动,我不希望他们被允许登录,而是被重定向到sorry_not_active_url.

如果用户不活动,阻止用户登录的最佳方法是什么?

谢谢.

ruby ruby-on-rails devise

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

Errno :: ENOENT:没有这样的文件或目录ruby

我收到以下错误:

"Errno::ENOENT: No such file or directory"
Run Code Online (Sandbox Code Playgroud)

当我尝试将文件下载到不存在的目录时.

例如:

ftp = Net::FTP.new('example.com')
ftp.login
files = ftp.chdir('pub/lang/ruby/contrib')
files = ftp.list('n*')
ftp.getbinaryfile('nif.rb-0.91.gz', 'pub/lang/ruby/contrib/nif.gz', 1024)
ftp.close
Run Code Online (Sandbox Code Playgroud)

但是,对于我将要下载的许多文件,完整的目录路径将不存在.例如,在第一个文件创建pub之前,它将不存在,这也适用于lang/ruby​​/contrib.

有没有一种方法可以检查目录是否存在,如果没有创建它们?我知道存在?,但是它看起来引用文件并且它不会创建完整路径.我想我需要一些递归方法来遍历文件夹结构,直到它命中文件名.

编辑:mkdir_p似乎正是我需要的解决方案.

但是,当我使用路径"/ a/b/c"时,我注意到FileUtils.mkdir_p(File.dirname(localdir))返回错误:Errno :: EACCES:权限被拒绝 - /a

如果我手动删除前面的"/"它可以工作.是什么造成的?解决错误的最佳解决方案是什么?我应该使用以下内容吗?

 path="/a/b/c"
 if path[0]="/"
    path=path[1..-1]
 end
Run Code Online (Sandbox Code Playgroud)

但是,我觉得这只是一个黑客.

ruby

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

覆盖active_for_authentication?为了设计

我在哪里用它来覆盖active_for_authentication?

def active_for_authentication?
  super && account_active?
end
Run Code Online (Sandbox Code Playgroud)

1)文件和文件名的位置.

2)完整文件的样子......等等...类<<< devise:something

原来的active_for_authentication?方法可以在devise/lib/devise/models/authenticatable.rb中找到.

谢谢

ruby-on-rails devise

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

为什么 RuboCop 不忽略 Rails 中的文件“schema.rb”?

RuboCop 不会忽略该文件schema.rb,尽管将其YAML文件配置为排除它。

如何将其配置为忽略 schema.rb?

以下是文件中的代码片段.rubocop.yml

require: rubocop-rails
require: rubocop-performance

AllCops:
  Exclude:
    - 'db/**/*'
    - 'config/**/*'
    - 'script/**/*'
    - 'bin/{rails,rake}'
    - 'vendor/**/*'
    - 'spec/fixtures/**/*'
    - 'tmp/**/*'
    - 'Gemfile.lock'

Rails:
  Enabled: true

Layout/SpaceAroundEqualsInParameterDefault:
  EnforcedStyle: no_space

Naming/VariableNumber:
  EnforcedStyle: normalcase

Style/StringLiterals:
  EnforcedStyle: double_quotes

Style/SymbolArray:
  Enabled: true
Run Code Online (Sandbox Code Playgroud)

ruby yaml ruby-on-rails rubocop

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

Net :: ftp getbinaryfile()保存到文件与保存到变量

使用以下ftp_download方法有效,但如果我改变

ftp.getbinaryfile(file,localdir,1024)   #=> Saves the file to localdir
Run Code Online (Sandbox Code Playgroud)

ftp.getbinaryfile(file)    #=> returns nil
Run Code Online (Sandbox Code Playgroud)

nil回来了.根据

http://www.ruby-doc.org/stdlib-2.0/libdoc/net/ftp/rdoc/Net/FTP.html#method-i-getbinaryfile

inilf我设置localfilenil如上述,数据应被检索以及由该方法返回.我究竟做错了什么?

def ftp_download(domain,remotedir,filename_regex,user=nil,pwd=nil)
  ftp = Net::FTP::new(domain)
  if user && pwd
    ftp.login(user, pwd)
  end
  ftp.chdir(remotedir)
  fileList = ftp.nlst(filename_regex)

  fileList.each do |file|
    localdir=File.join(remotedir,file)
    localdir=localdir[1..-1] if localdir[0]="/"
    FileUtils.mkdir_p(File.dirname(localdir))
    ftp.getbinaryfile(file,localdir,1024)
  end
  ftp.close
end
Run Code Online (Sandbox Code Playgroud)

ruby default-parameters net-ftp

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

按多个键组合哈希数组

我想group_by多个键:orders,idx,account等.下面的代码是Ruby on Rails的修改版本- Hash of Arrays,group by和sum by column name.任何人都可以推荐一种方法来分组多个键并将多个值相加?

例如,在下面的代码中,我只对"订单"进行分组.我想分组订单,idx和帐户.

group_hashes some_array, ["order","idx","account"] ["money","amt"]
Run Code Online (Sandbox Code Playgroud)

group_hashes some_array, "order", "money","amt" 
Run Code Online (Sandbox Code Playgroud)

码:

some_array=[{"idx"=>"1234", "account"=>"abde", "amt"=>"2", "money"=>"4.00", 
      "order"=>"00001"}, {"idx"=>"1235", "account"=>"abde",  "amt"=>"2" ,
      "money"=>"2.00", "order"=>"00001"}, {"idx"=>"1235", 
      "account"=>"abde", "amt"=>"2" , "money"=>"3.00", "order"=>"00002"}]  # => [{"idx"=>"1234", "account"=>"abde", "amt"=>"2", "money"=>"4.00", "order"=>"00001"}, {"idx"=>"1235", "account"=>"abde", "amt"=>"2", "money"=>"2.00", "order"=>"00001"}, {"idx"=>"1235", "account"...

#group_hashes arr, "order", "money"
def group_hashes arr, group_field, *sum_field
  arr.inject({}) do |res, h|
    (res[h[group_field]] ||= {}).merge!(h) do |key, oldval, newval|
        sum_field.include?(key) ? (oldval.to_f + …
Run Code Online (Sandbox Code Playgroud)

ruby enumerable

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

Rails 6.0.2.1 - “sameSite” 属性设置为 “none” “secure” 属性

火狐错误:

Cookie“_myapp_session”很快就会被拒绝,因为它的“sameSite”属性设置为“none”或无效值,没有“secure”属性。要了解有关“sameSite”属性的更多信息,请阅读 https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite

“要解决此问题,您必须将 Secure 属性添加到 SameSite=None cookie。”

使用 Rails 6 时,如何将安全属性添加到我的 SameSite=None cookie 中?

我不想添加一个单独的 gem 来完成这个。这个错误随机出现,我假设浏览器发生了变化。rails 6 是否有解决此问题的本机方法?我读了这篇文章,

谢谢

ruby-on-rails ruby-on-rails-6

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

在轨道中预加载SASS/CSS背景图像

body
    &:after
      content: url('image1.jpg') url('image2.jpg') url('image3.jpg') url('image4.jpg') 
      display:none
Run Code Online (Sandbox Code Playgroud)

我正在使用上面的代码来预加载背景图像.但是,我的显示:none似乎不起作用.所有图像都被加载并且可见.这是浏览器特有的吗?我在mac或坏css/sass语法上使用firefox 20?我需要解决方案兼容多浏览器.我只想以干净简单的方式预装所有图像.

谢谢

css ruby-on-rails sass

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

未使用重定向设置实例变量

什么会导致我的实例变量 @product 无法为重定向设置/传递。Product 是一个 ActiveModel 对象,而不是 ActiveRecord。更具体地说,@product 变量没有出现在 redirect_to(new_services_path) 或 redirect_to(home_path) 页面中。因为@product 变量需要在我的每页上的页脚中填充一个表单。

应用控制器:

class ApplicationController < ActionController::Base 
  before_filter :set_product

  private

  def set_product
    @product ||= Product.new
  end
end
Run Code Online (Sandbox Code Playgroud)

产品_控制器:

  def new
  end


 def create
    @product = Product.new(params[:product])

    if  @product.category == "wheels"
      redirect_to(new_services_path) 
    else
      redirect_to(home_path) 
    end
  end
Run Code Online (Sandbox Code Playgroud)

与此原始帖子相关的问题.. 通过多个部分传递变量(rails 4)

ruby-on-rails instance-variables ruby-on-rails-4

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