小编Way*_*rad的帖子

如何在使用rails资产管道时内联css

而不是让页面包含一个样式标记,其中包含从哪里获取css的链接,我可以使用rails的stylesheet_link_tag帮助方法将其添加到我的视图中,我希望直接在页面内部使用css内联.

这是我到目前为止提出的:

%style(type="text/css")=File.read(physical_asset_path("email.css"))
Run Code Online (Sandbox Code Playgroud)

但我找不到任何轨道的辅助方法,它给了我一个资产的物理路径 - physical_asset_path只是我发明的虚拟方法.

有人知道如何在使用rails 3.2.x时获取资产的物理路径吗?

是否有更简单/更好的方式来获取样式表 - 来自共轨资产路径中的css文件 - 内联?

使用案例:大多数电子邮件客户端在没有用户确认的情况下不访问外部源(如css,图像).因此,要正确显示电子邮件,我需要将CSS嵌入电子邮件的HTML中.

ruby-on-rails asset-pipeline

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

无法在Ruby on Rails上安装Puma gem

我正在尝试安装美洲狮宝石,但是当我跑的时候

gem install puma
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

Temporarily enhancing PATH to include DevKit
Building native extensions.  This could take a while...
ERROR:  Error installing puma:
        ERROR: Failed to build gem native extension.

    C:/Ruby193/bin/ruby.exe extconf.rb
creating Makefile

make                                                
generating puma_http11-i386-mingw32.def                              
compiling http11_parser.c       
ext/http11/http11_parser.rl: In function 'puma_parser_execute':  
ext/http11/http11_parser.rl:111:3: warning: comparison between signed and unsigned integer   expressions    
compiling io_buffer.c   
io_buffer.c: In function 'buf_to_str':             
io_buffer.c:119:3: warning: pointer targets in passing argument 1 of 'rb_str_new'      differ in signedness             
c:/Ruby193/include/ruby-1.9.1/ruby/intern.h:653:7: note: expected 'const char *' but argument is …
Run Code Online (Sandbox Code Playgroud)

rubygems ruby-on-rails puma ruby-on-rails-4

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

Ruby:使用私钥/公钥进行文件加密/解密

我正在寻找一种文件加密/解密算法,它满足以下要求:

  • 算法必须可靠
  • 对于相当大的文件,算法应该很快
  • 私钥可以通过某些参数生成(例如,密码)
  • 生成的私钥必须与公钥兼容(公钥只生成一次并存储在数据库中)

是否有建议算法的Ruby实现?

ruby encryption ruby-on-rails encryption-asymmetric public-key-encryption

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

是a = 0; b =(a ++,a + 1); 未定义的行为(UB)?

看简单的例子:

int a = 0;
int b = (a ++  ,  a + 1); // result of b is UB or well defined ?  (c++03).
Run Code Online (Sandbox Code Playgroud)

这在c ++ 11/c ++ 14中有所改变吗?

c++ undefined-behavior c++11

21
推荐指数
1
解决办法
1150
查看次数

为什么生命周期名称显示为函数类型的一部分?

我相信这个函数声明告诉Rust函数输出的生命周期与它的s参数的生命周期相同:

fn substr<'a>(s: &'a str, until: u32) -> &'a str;
         ^^^^
Run Code Online (Sandbox Code Playgroud)

在我看来,编译器只需要知道这个(1):

fn substr(s: &'a str, until: u32) -> &'a str;
Run Code Online (Sandbox Code Playgroud)

<'a>函数名后面的注释是什么意思?为什么编译器需要它,它用它做什么?


(1):我知道由于终生的缺席,它需要知道的更少.但这个问题是关于明确指定生命周期.

lifetime rust

19
推荐指数
2
解决办法
1532
查看次数

如何从ruby 2.2.3升级到ruby 2.3.0

我目前的Ruby版本是2.2.3,我想将其升级到2.3.0.

我使用本指南使用rbenv:gorails.com/setup/ubuntu/16.04

如何升级我的Ruby版本?当我升级时,它是否会影响我需要注意的任何事情?

ruby rbenv

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

ActiveRecord日志哪个查询转到哪个数据库

在具有到不同数据库的多个连接的ActiveRecord应用程序中,日志中没有任何内容指示哪个查询进入哪个数据库.这些查询分离数据库:

Base1.connection.select_value("select * from foo")
Base2.connection.select_value("select * from foo")
Run Code Online (Sandbox Code Playgroud)

发出以下日志条目:

D, [2017-03-13T09:27:11.844395 #22112] DEBUG -- :    (0.6ms)  select * from foo
D, [2017-03-13T09:27:11.844539 #22112] DEBUG -- :    (0.1ms)  select * from foo
Run Code Online (Sandbox Code Playgroud)

如何使ActiveRecord数据库日志指示正在对哪个数据库执行查询?

独立的例子

begin
  require "bundler/inline"
rescue LoadError => e
  $stderr.puts "Bundler version 1.10 or later is required."
  raise e
end

gemfile(true) do
  source "https://rubygems.org"
  # Activate the gem you are reporting the issue against.
  gem "activerecord", "4.2.8"
  gem "sqlite3"
end

require "active_record"
require "logger"

class Base1 < ActiveRecord::Base …
Run Code Online (Sandbox Code Playgroud)

ruby logging rails-activerecord

15
推荐指数
1
解决办法
417
查看次数

如何将模块混合到rspec上下文中

我怎么能混个模块到一个RSpec上下文(又名describe),使得模块的常量可用来规范?

module Foo
  FOO = 1
end

describe 'constants in rspec' do

  include Foo

  p const_get(:FOO)    # => 1
  p FOO                # uninitialized constant FOO (NameError)

end
Run Code Online (Sandbox Code Playgroud)

const_get当常量的名称不能是有趣的可以检索的常量.是什么导致了rspec的好奇行为?

我使用MRI 1.9.1和rspec 2.8.0.MRI 1.8.7的症状相同.

ruby rspec2 ruby-1.9

11
推荐指数
2
解决办法
5147
查看次数

什么会给我一些像ruby readline的默认值?

如果我想在终端上输入一个已输入默认值的提示,我该怎么做?

Ruby的标准Readline.readline()让我设置历史但不填写默认值(据我所知,至少)

我想要这样的东西:

码:

input = Readline.readline_with_default('>', 'default_text')
Run Code Online (Sandbox Code Playgroud)

安慰:

> default_text|
Run Code Online (Sandbox Code Playgroud)

ruby console command-line readline command-line-interface

10
推荐指数
3
解决办法
1808
查看次数

从整数值获取枚举字符串名称的最佳方法是什么

我需要通过整数值获取枚举状态的字符串名称,然后我会这样做

Order.states.find{|x| x[1] == data['stateId']}
Run Code Online (Sandbox Code Playgroud)

有人知道更好的方法吗?

enum state: {
         created: 0,
         cancelled: 100,
         complete: 10,
       }
Run Code Online (Sandbox Code Playgroud)

ruby enums ruby-on-rails

10
推荐指数
1
解决办法
4478
查看次数