小编The*_*ter的帖子

Ajax phpmyadmin替代?

我必须说,我对phpmyadmin很无聊.我们在2009年,我必须使用这个有用的工具,并在每次操作后等待每个页面重新加载.是否有任何ajaxed替代品?也许phpmyadmin本身会被ajaxized?

php ajax phpmyadmin

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

如何让git-svn优雅地处理空目录?

我很高兴使用git-svn,虽然我注意到git在将空目录作为SVN时有不同的方法.我需要一种方法来解决以下特定情况:

我在我的项目的SVN存储库中有几个属于那里的空目录,不应该被触及.由于一些重构,我不得不删除另一个曾经有文件的目录.git svn dcommit删除文件,但保留目录.令我感到震惊的是,git对空目录的无知导致我的SVN仓库不一致.

我想从我的SVN存储库中删除该特定目录.git-svn能做到吗?如果没有,我该怎么做呢?(并且 - 最终 - 如何在同一变更集中同时提交其他文件时,我该怎么做?)

git directory git-svn

31
推荐指数
2
解决办法
7223
查看次数

应该在正则表达式中转义哪些字面字符?

我刚刚编写了一个正则表达式,用于preg_match包含以下部分的php函数:

[\w-.]
Run Code Online (Sandbox Code Playgroud)

匹配任何单词字符,以及减号和点.虽然它似乎在preg_match中工作,但我试图将它放入一个名为Reggy的实用程序中并且它抱怨"char类中的空范围".试验和错误告诉我这个问题是通过逃避减号来解决的,将正则表达式转化为

[\w\-.]
Run Code Online (Sandbox Code Playgroud)

由于原来似乎在PHP中工作,我想知道为什么我应该或不应该逃避减号,并且 - 因为点也是一个在PHP中有意义的字符 - 为什么我不需要逃避点.我正在使用的实用程序是愚蠢的,它是否与另一个正则表达式方言一起使用或者我的正则表达式是否真的不正确而且我很幸运preg_match让我逃脱它?

php regex pcre escaping

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

rspec的代码覆盖率

我对rails很新,我使用rspec编写单元测试,集成测试和功能测试.

我们希望将TDD集成到我们的团队中.虽然这是一个计划如何编写功能的好方法,但对于我而言,当涉及到代码覆盖时,它根本不像是一个适当的单元测试.

我希望能够深入了解我们的单元测试.如果我编写方法,则应以确保以下方式的方式进行测试:

  • 每行代码都被执行
  • 布尔表达式的每个结果(例如在if/ unlessstatements中)都是在测试期间产生的.

我希望能够根据这两个要求深入了解我的测试是如何进行的,即查看我的代码并查看正在测试哪些行和表达式,哪些不是.有没有一个工具/宝石,你可以推荐我给我这个信息?

unit-testing rspec code-coverage ruby-on-rails

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

在rails中,如何确定记录是否被依赖的:: destroy回调破坏?

我在我的Rails应用程序中有一个记录after_destroy,需要知道记录被破坏的原因.更具体地说,如果记录在级联中被破坏,因为它的父级说dependent: :destroy,它需要做的事情与记录被单独销毁时不同.

我试图做的是看看它的父母是否destroyed?,只是想知道dependent: :destroy在父母被摧毁之前完成了回调.这是有道理的,因为它应该能够失败.(即限制).

那么,我该怎么做?

activerecord ruby-on-rails callback

11
推荐指数
1
解决办法
1958
查看次数

在Rails 4控制台中启用异常堆栈转储

我在Ruby 1.9.3上使用Ruby on Rails 4.在rake任务期间发生错误时,我得到一个非常好的堆栈跟踪.

但是,当我在我的rails控制台(pry)中执行触发异常的操作时,我只能看到错误消息和触发它的一行代码(大部分时间都在rails core中的某个位置).

有没有办法在控制台中启用这些堆栈转储?

ruby stack-trace rails-console pry

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

查询计算不同的组合

首先,我为这个问题的标题道歉,我暂时没有更好的想法.提出一个很好的建议,我将修复标题.(如果我有权这样做,我实际上不知道.)

情况:

我很难完成正确的SQL查询.我有一个设置,人们可以下订单,产品等,并在某些情况下获得折扣.

请考虑以下架构:

Product:
  [...]

Price:
  product_id: integer
  description: string
  [...]

Order:
  [...]

OrderItem:
  order_id: integer
  price_id: integer
  amount: integer
Run Code Online (Sandbox Code Playgroud)

并考虑以下规则:

  • 有9种不同的产品.
  • 所有产品都有2个价格,一个描述PriceA,一个描述PriceB.
  • 每种产品的每种类型的价格都相同.(也就是说,所有PriceA价格都相同,且所有PriceB价格都相同.)

问题:

对于具有相同价格水平的每种5 种不同产品(即PriceA与PriceB),订单的总价格会降低一定数量.我正在尝试编写一个查询,告诉我发生了多少次.

例子:

示例1:
用户下订单:

  • 5次产品1,
  • 产品2倍,
  • 5次产品3,
  • 3次产品4,
  • 3次产品5.

所有在PriceA,客户获得3倍的折扣,因为有3套完整的5

示例2: 用户下订单:

  • 5次产品1,
  • 产品2倍,
  • 5次产品3,
  • 5次产品4,
  • 产品5倍,
  • 2次产品6,
  • 2次产品7

所有的PriceA价格.现在,客户获得5倍的折扣,因为有4套5个,2个涉及product5,2个涉及product6,1个涉及product7.

斗争:

我试过这个SQL:

SELECT min(amount) as amount from
    (SELECT oi.amount from `order` o
        inner join orderitem oi on oi.order_id = o.id
        inner join price p on oi.price_id …
Run Code Online (Sandbox Code Playgroud)

sql algorithm math

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

1:1关系中的双向外键约束

我正在使用MySQL数据库.在我的关系数据模型中,我有两个实体相互关联1:1.在我的模式中,通过在两个表之一中放置一个FK字段来设置1:1关系,该表与另一个表的PK相关.两个表都有PK,它们都是自动增量BIGINT.

我想知道是否有可能ON DELETE CASCADE对他们采取双向行为.

即A 1:1 B,表示[删除A也删除B]以及[删除B也删除A].

我意识到这在正确的应用程序设计方面可能不是绝对必要的,但我只是想知道它是否真的可行.据我所知,你不能在PK上加上FK约束.

mysql foreign-keys

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

Rails缓存内插部分名称的摘要错误

我有一个应用程序,我通过使用缓存大大改善了响应时间.

我是俄罗斯娃娃缓存片段,一个片段呈现几个(嵌套)部分.似乎所有东西都应该像它应该的那样工作,但是我所包含的部分部分是由插值字符串构成的.对于那些部分,我在错误日志中收到缓存错误:

找不到用于摘要的模板:path/to /#{my.calculated.partial.name}

我花了一些时间在谷歌上,我发现的唯一一件事是很多人都希望关闭消化.所以我基本上有几个问题:

  1. 有没有办法解决这个特殊问题?(即具有实际"评估"部分名称的缓存摘要)?

    • 我可以想象这个答案是"不",因为页面的缓存版本没有执行任何代码,因此插值字符串不能
  2. 更一般:我为什么要启用或禁用缓存摘要?他们的目的是什么?

  3. 您如何建议我解决这些错误(如果没有解决1)?

更新:

根据要求,一个给我这个错误的视图的例子是:

-cache ['survey', @survey], expires_in: expire_period
  [...]
  -cache ['survey_questions', @survey]
    -@survey.questions.each do |q|
      =render "field_types/#{q.field_type.type.underscore}", question: q, f: f
Run Code Online (Sandbox Code Playgroud)

例如,当字段类型为"文本输入"时,它会呈现field_types/_text_input.html.haml.一切都很好.我将在日志中得到的错误是:

_无法找到消化模板:field_types/field_types /#{q.field_type.type.underscore} _

caching ruby-on-rails

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

在RSpec中,如何在访问主题的子上下文中添加前挂钩?

考虑以下:

describe MyModel do
  context 'updates fields' do
    subject { create(:my_model) }
    before do
      subject.save
      subject.reload
    end

    context 'when changing foo.bar' do
      before { subject.foo.bar = 3 }
      it { is_expected.to be_multiple_bar }
    end

    context 'when changing baz.quux' do
      before { subject.baz.quux = 3 }
      it { is_expected.to be_multiple_quux }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

现在,正如您所料,我希望在第10行和第15行之后before调用第4行的挂钩.

我尝试了两件事:

  1. 我尝试过使用prepend_before,但只有当它们在同一个上下文中定义时才会起作用,它不允许你在超级上下文中定义的一个钩子之前添加一个钩子
  2. 我已尝试before(:context)在第10行和第15行使用,虽然这应该按照正确的顺序使用,但RSpec不允许我在那时改变主题.(并且有充分的理由,我不是想在这里创建一个共享状态.)

我真的不想诉诸let(:append_before) { proc { #magic here } },因为它是丑陋和hacky地狱.此外,我认为我想要的是完全合理的.现在我将这两行复制到所有子上下文中,我对此并不满意.

有什么更好的方法呢?

我在RSpec 3.7,FactoryGirl 4.8.0和Ruby 2.3.1上

ruby rspec

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

两级深度belongs_to关联上的Active Admin过滤器

说一个Person有很多House,House有很多Door.(所以Door有一个house_id和House有一个person_id领域).我在Active Admin中有一个门列表,其中我想要一个允许我选择一个人的过滤器,并向我显示该人所有房屋的所有门.

ActiveAdmin.register Door do
  filter :knob_color
  filter :is_open
  filter :has_window

  filter :house_person      # DOESN'T WORK
  filter :house_person_name # DOESN'T WORK
Run Code Online (Sandbox Code Playgroud)

Person模型表有一个name领域,所以ActiveAdmin应该能够挑选起来.

我该怎么做呢?

UPDATE

根据要求,我的情况在模型中得到了改变.

# id:   integer
# name: string
class Person < ActiveRecord::Base
  has_many :houses
end

# id:        integer
# person_id: integer
class House < ActiveRecord::Base
  belongs_to :person
  has_many   :doors
end

# id:         integer
# house_id:   integer
# knob_color: string …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails activeadmin

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