小编den*_*lin的帖子

字体很棒,输入类型'提交'

在font-awesome中似乎没有输入类型'submit'的类.是否可以使用font-awesome中的某些类来输入按钮?我已经在我的应用程序中为所有按钮添加了图标(实际上它们与来自twitter-bootstrap的类'btn'链接),但无法在'input type submit'上添加图标.

或者,如何使用此代码:

input#image-button{
    background: #ccc url('icon.png') no-repeat top left;
    padding-left: 16px;
    height: 16px;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<input type="submit" id="image-button">Text</input>
Run Code Online (Sandbox Code Playgroud)

(我从HTML中获取:如何使用文本+图像制作提交按钮?)使用font-awesome?

twitter-bootstrap twitter-bootstrap-rails font-awesome

194
推荐指数
6
解决办法
23万
查看次数

为什么 RSpec 在 ruby​​ 中运行时会运行两次specs并且重新加载spec文件?

我尝试在现有的 ruby​​ 运行时中使用 RSpec,并在每次文件更改时运行规范。这是因为 JRuby 和 JVM 启动时间。为了在每次运行时消除这个问题,我想启动 ruby​​ 一次,然后只重新加载更改的文件并运行规范。我正在使用guard(具有不同的扩展)和watchr,但似乎都遇到了下面描述的问题。

我将问题归结为 RSpec 本身。问题是,当通过RSpec::Core::Runner.run多次运行 RSpec 时,它可以正常工作,直到使用load. 然后 RSpecs 开始运行规范两次。我创建了示例项目来实时显示此问题:https ://github.com/mostr/rspec_double_run_issue

以下是示例输出:

ruby run_spec_in_loop.rb 
Running spec from within ruby runtime
.
Finished in 0.00047 seconds
1 example, 0 failures

loading spec file via 'load' as if it was changed and we wanted changes to be picked up
Running spec from within ruby runtime
..
Finished in 0.001 seconds
2 examples, 0 failures
Run Code Online (Sandbox Code Playgroud)

当从现有的 ruby​​ 运行时运行时,有什么方法可以告诉 RSpec 在后续运行之间清除其上下文吗?我还将此作为 …

ruby rspec jruby guard

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

怎么叫沉默!在dalli cache_store上?

我正在尝试在开发模式下使用缓存开发应用程序,但是发送垃圾邮件的开发日志主要是缓存日志.我用dalli,我知道,dalli有沉默!方法(https://github.com/mperham/dalli/commit/892020fbc73613ccc84412ce04b85b7fda645e63),但如何使用这种方法?

我找到了一些旧的指令,建议打电话给config.cache_store它,但它是一个符号,并没有这个方法:

config.cache_store = :dalli_store
config.cache_store.silence!
Run Code Online (Sandbox Code Playgroud)

引发异常.

ruby ruby-on-rails dalli

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

不能打印二进制变量

我有一个简单的变量声明

h = "a"
Run Code Online (Sandbox Code Playgroud)

当我试图给<<h>>我弄

> ** (ArgumentError) argument error
>     (stdlib) eval_bits.erl:101: :eval_bits.eval_exp_field1/6
>     (stdlib) eval_bits.erl:92: :eval_bits.eval_field/3
>     (stdlib) eval_bits.erl:68: :eval_bits.expr_grp/4
>     (stdlib) erl_eval.erl:484: :erl_eval.expr/5
>     (iex) lib/iex/evaluator.ex:257: IEx.Evaluator.handle_eval/5
>     (iex) lib/iex/evaluator.ex:237: IEx.Evaluator.do_eval/3
Run Code Online (Sandbox Code Playgroud)

如果h"a"这里保留值,我可以成功执行操作,<<"a">>为什么会出错<<h>>呢?

elixir

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

使用ActiveRecord进行条件链接

我试图实现条件链接,这就是我得到的:

控制器索引动作代码:

@range_start = params[:range_start]
@range_stop = params[:range_stop]
Contract.within_range(@range_start, @range_stop)
Run Code Online (Sandbox Code Playgroud)

型号代码:

def self.within_range(range_start = Date.today - 1.month, range_stop = nil)
  self.started_after(range_start).started_before(range_stop)
end

def self.started_after(range_start)
  if range_start.blank?
    self
  else
    self.where('start_date >=?', range_start)
  end
end

def self.started_before(range_stop)
  if range_stop.blank?
    self
  else
    self.where('start_date<=?', range_stop)
  end
end
Run Code Online (Sandbox Code Playgroud)

它有效,但看起来不太好.我尝试使用它来改进它tap,但没有成功.如何改进此代码?

更新:在可以转换为内联条件,但也许可以改进其他东西?

range_start.blank? ? self : self.where('start_date >=?', range_start)
Run Code Online (Sandbox Code Playgroud)

UPDATE2:如果range_stop未设置,则此代码started_after不起作用,条件不适用.

我必须从什么地方回来started_before放松第一个条件?

activerecord ruby-on-rails

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

如何引发自定义 Postgresql 错误并在 Ecto 中处理它

我在 Postgresql 中创建了一个自定义函数,它在插入或更新之前检查数据,并在出现问题时引发错误。

CREATE FUNCTION custom_check() RETURNS TRIGGER AS $$
  BEGIN
    IF <SOME CONDITION> THEN
        RAISE EXCEPTION 'CUSTOM ERROR';
    END IF;
    RETURN NEW;
  END;
  $$ LANGUAGE plpgsql
""")
Run Code Online (Sandbox Code Playgroud)

当我在 Postgresql 中使用约束时,我可以处理由Ecto.Changeset.check_constraint.

但是我没有找到一种方法来处理我提出的这个错误,将它反映在变更集中而不是获取异常并可能在我的代码中捕获它。

我应该Ecto.Changeset.check_constraint以不同的方式提出错误来处理它,还是做不同的事情?

postgresql elixir ecto

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