小编Mar*_*tin的帖子

start-stop-daemon引用的参数被误解了

我一直在尝试使用start-stop-daemon创建一个init脚本.我被困在守护进程的参数上.我想将这些保存在脚本顶部的变量中,但我无法正确地过滤掉报价.

我会在这里使用ls,所以我们不必查看大多数人不会知道或关心的二进制文件和参数.

我正在寻找的最终结果是开始 - 停止...运行ls -la"/带空格的文件夹/"

DAEMON=/usr/bin/ls 
DAEMON_OPTS='-la "/folder with space/"'

start-stop-daemon --start --make-pidfile --pidfile $PID --exec $DAEMON -- $DAEMON_OPTS
Run Code Online (Sandbox Code Playgroud)

双重逃避选项并尝试无数的引用变化无济于事......然后他们最终在守护进程中总是搞砸了.将$ DAEMON_OPTS包含在引号中会改变一些事情...然后它们被视为一个引用...但从来没有正确的数字:)

回应命令行(开始 - 停止......)将正确的内容打印到屏幕上.但守护进程(真正的守护进程,而不是ls)抱怨错误的参数数量.

如何指定变量以使其中的引号正确地带到守护程序?

linux shell debian

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

CakePHP的良好数据库迁移?

我一直在为CakePHP尝试一些迁移脚本,但是我遇到了所有形式或其他形式的问题.

请告诉我关于您使用Live并了解作品的Cake的迁移选项.

我想要以下"功能":

  • 支持CakePHP 1.2(例如,当1.3稳定并且我的应用程序迁移到新的代码库时,CakeDCs迁移将只是一个选项)
  • 支持(或至少不停止)具有不同数据库配置的模型.
  • 支持app/models子文件夹中的模型
  • 支持插件中的模型
  • 支持不符合Cake约定的表(我有一些特殊的表,没有一个主键字段,需要保留它们)
  • 通过Capistrano和Git自动部署可以很好地发挥作用.

我不需要rails样式的版本化文件一个git版本化的模式文件,它与现有模式进行实时比较.那就是:我喜欢Cake中的SchemaShell,除了它与我上面的大部分要求不兼容.

我看过并测试过:

database migration cakephp cakephp-1.2

18
推荐指数
1
解决办法
5376
查看次数

Mongoid关联的自定义键

我需要将两个模型与一个简单的has_many相关联.问题是我不想使用id(_id)作为关联的主键.我仍然希望模型继续使用默认的ObjectIds.

(这是在Rails3.1 + Mongoid上运行的)

基本上我想要:

class Message
  ...
  field :message_id, :default => proc { "fail-#{Time.now.to_f.to_s}" }
  ...
  has_many :message_reports, primary_key: :message_id, foreign_key: :message_id
  ...
end
class MessageReport
  ...
  field :message_id, :default => proc { "fail-#{Time.now.to_f.to_s}" }
  ...
  has_many :message, primary_key: :message_id, foreign_key: :message_id
  ...
end
Run Code Online (Sandbox Code Playgroud)

这只适用于ActiveRecord.Mongoid不支持primary_key选项.

那么如何为Mongoid集合获得相同的结果呢?

在你说之前:不要那样做......

我真的需要在这个领域而不是正确的id上运行的原因是这些是消息......而message_ids是由我调用发送消息的API返回的唯一ID.之后,在另一方的回调中收到相同的id.

我可以做一些查询并将其粘贴在一个方法中,以便从消息中找到"关联"报告,反之亦然......如果可能的话,我宁愿让它们成为实际关联.

我可以强制报告接收过程来搜索和匹配关联的对象...但是当它是多余的时候我宁愿不把那个责任放在那里而且它除此之外没有任何关系.验证并保存它.

简而言之:我更喜欢一个协会:)

ruby-on-rails mongoid

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

如何在没有controller.get('view')的情况下制作动作会影响同级视图?

快速上下文:应用程序视图有2个出口.一个用于工具栏.另一个用于可路由的"主"视图层次结构.

app -- main
   \-- toolbar
Run Code Online (Sandbox Code Playgroud)

我需要工具栏中的一些按钮来触发"主"视图中的事件.不更新任何模型中的任何数据.我只是指示它触发视图所呈现的绘图库的一些更改.清除画布,重置缩放值等.

在1.0 pre2和更早版本中,我使用了actions和router.get('someController.view')来访问我想要的视图并触发action/method/event.几乎没有应用程序设计的巅峰,但它工作得很好.

这个选项现在已经消失,我不知道是一个不错的选择.在不在子/父层次结构中的视图之间进行通信时,我应该使用什么机制?我所提出的一切都是笨重的,并引发了我对"Ember有更好的方法"的感觉.

总之我想:

  • 用于触发事件的工具栏按钮
  • 主要观点是对此作出反应并对其自身部分进行一些更新.
  • 主要观点是不通过路由重新呈现单词的Ember意义.它使用绘图库并将其所有属性和行为集成到Ember模型和控制器中并不会带来很多乐趣.
  • 工具栏和主视图共享父视图,但位于不同的"分支"上.

糟糕的选择我正在考虑:

工具栏非常关注应用程序,但它确实有一些需要指示特定视图的按钮.我在Ember中看到的一个选项是将工具栏嵌套在"主"视图下.对于其他一些功能来说,这似乎是错误的.

通信可以由控制器(甚至可能是模型)处理,该控制器将保持工具栏设置的属性和"监听"视图对其值的反应和重置.这听起来像滥用控制器和模型的目的,就像一个非常差的事件监听器设置.

我可以使绘图库成为App.Drawing或其他东西的全局应用程序,但这似乎也很糟糕.这也意味着操作仍然无法利用视图中的任何数据来更新绘图库.

有什么建议?

ember.js ember-router

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

根据当前语言环境在Rails中显示小时格式(am/pm或不是)

我刚刚意识到Rails(目前3.1.3)中的l(或localize)方法似乎不能根据当前设置的语言环境管理时钟格式.我刚刚假设这是这种情况,并没有特别针对此进行测试...我刚刚验证了日期是根据语言环境重新格式化的.

我在我的rails控制台中获得了24小时的全部时钟.两个语言环境之间唯一可见的区别是月份名称的大写.

I18n.l Time.now, :format => :short,  :locale => :"en"
I18n.l Time.now + 12.hours, :format => :short,  :locale => :"en"
I18n.l Time.now, :format => :short,  :locale => :"sv-SE"
I18n.l Time.now + 12.hours, :format => :short,  :locale => :"sv-SE"
Run Code Online (Sandbox Code Playgroud)

现在,为什么呢?这不是本地化时间的一部分吗?

我发现AM/PM的唯一手动干预是生成表格的选择,我可以"手动"要求12小时时钟.一个奇怪的选择,因为我觉得我只想要依赖于语言环境的那种东西.

看看Mac OS,我确实可以单独选择格式首选项的语言和区域设置,但这就是为什么我们有en-US,en-GB,sv-SE命名,对吧?表示语言 - 国家.我可以通过格式化在瑞典的格式将en-SE文件添加到包含英语翻译的应用程序中.

我假设并非所有美国开发人员都进入并编辑英语的默认语言环境文件(en-US看起来与en btw相同),以获得适合美国用户的12小时时钟.所以,请随时告诉我我是多么愚蠢.我完全相信这个问题确实是非常基本的.

简而言之.我错了什么?我如何"修复"我的时间戳?:)

time localization ruby-on-rails

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