小编Ben*_*Ben的帖子

如何让发电机调用轨道3中的其他发电机

我正在尝试宝石开发,现在专门用于生成器.到目前为止,我已经成功创建了两个完美地完成工作的发生器.这两个生成器位于同一目录中.

但是,现在我必须分别打电话给他们.

我想做的就是调用一台发电机并让发电机调用所有其他发电机.只是打字

rails g generator_name
Run Code Online (Sandbox Code Playgroud)

这将调用x其他生成器.

有谁知道我会怎么做到这一点?

非常感谢帮助,谢谢!

ruby gem ruby-on-rails generator

13
推荐指数
2
解决办法
3098
查看次数

骨干事件没有解雇

我知道有关此事的其他帖子,但到目前为止我看到的答案没有帮助,与我的情况略有不同.

window.BotView = Backbone.View.extend
  initialize: ->
    _.bindAll @, 'alert', 'render'
    @el # by calling this here, it initializes the jQuery object

  el: $("#submit")

  model: Chatbot

  events:
    "click #submit" : "alert"

  alert: ->
    console.log("alert called")
    alert("event observed")

  render: ->
    alert("Rendered")


jQuery ->
  window.App = new BotView
  console.log App.el
Run Code Online (Sandbox Code Playgroud)

我想要的是当我点击与提交按钮idsubmit为它火的alert功能.但是,我甚至无法让这个工作.

这是怎么回事与events我简单click的处理程序#submit不工作?

我已经仔细检查过我el的初始化是否正确,但即便如此,它也无关紧要,因为点击处理程序没有使用el

谁能解释为什么这个简单的事件没有解雇?

提前致谢

javascript coffeescript backbone.js

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

如何使用请求ID标记rails中的每个日志调用(lograge)

我正在使用带有rails的lograge,我已经使用JSON格式配置了我的日志.我想我每次通话时间logger.info,logger.warn等来包括请求UUID.rails使用标记日志记录处理这种方式的方式达不到我想要的程度,因为它似乎无法将请求uuid与JSON有效负载的其余部分合并,而是将其以非JSON格式预先添加到行上.

例如,如果我打电话,logger.info(client: :ig)我会期望以下日志输出:

{"request_id": <request uuid>, "client": "ig"}
Run Code Online (Sandbox Code Playgroud)

但是相反,rails将在请求uuid之前(当配置为via时config.log_tags = [:uuid]),如下所示:

[<request uuid>] {"client": "ig"}
Run Code Online (Sandbox Code Playgroud)

有没有人知道是否有办法让标记行为与JSON有效负载合并而不是在同一行上预先添加?我想使用一个简单的JSON格式化器将我们的日志配置为转发到Splunk,而不是处理这种前置格式.

另外,我已经配置lograge到包括request_id设置为在传送到一个lambda请求UUID custom_optionsconfig/application.rb.这只有在rails记录请求时才有效.如果我在其他任何地方显式调用其中一个日志记录方法,request_id则不包括在内.

# application.rb
config.lograge.enabled = true
config.lograge.formatter = Lograge::Formatters::Json.new
config.lograge.custom_options = lambda do |e|
  {
    params: e.payload[:params].except("controller", "action", "utf8"),
    request_id: e.payload[:request_id] # added this in `append_info_to_payload` in ApplicationController
  }
end
Run Code Online (Sandbox Code Playgroud)

然后在config/environments/production.rb中

config.log_tags = [ -> (req) { { request_id: req.env["action_dispatch.request_id"] } } ]
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏,谢谢.

logging json ruby-on-rails

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

mysql中的数据类型文本(Ruby on Rails)

在开发中我使用了sqlite3,我正在编写一个博客应用程序.所以对于博客文章,我有数据类型文本,工作正常.我能够写很长篇文章,从来没有遇到过问题.使用MySQL切换到生产,现在我的文章在大约250个字符后被截断.

有谁知道我需要做什么和/或改变以使MySQL像sqlite3一样,允许真正大量的文本?

谢谢.

DB/schema.rb:

ActiveRecord::Schema.define(:version => 20110307222323) do

  create_table "articles", :force => true do |t|
    t.integer  "user_id"
    t.string   "title"
    t.string   "body"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "category_id"
    t.string   "url"
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby mysql types ruby-on-rails

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

rails3 app ENV未被识别为生产

我在我的linode VPS上设置了我的rails应用程序,phusion乘客已安装并正常工作,mysql也是如此(我知道这是因为我的朋友目前正在使用相同的设置运行2个生产应用程序).VPS正在运行Ubuntu 10.10,而我正在使用apache2和乘客.

我将应用程序SFTP到服务器,更新了软件包,设置了我的虚拟主机并指定了RailsEnv进行生产,路径都是准确的.

然后我用apachectl重启服务器(以root身份)-k restart尝试rake db:migrate并且它没有做任何事情,所以我认为这是因为环境没有改变,这正是发生的事情.如果我进入rails控制台并输入Rails.env它会给我开发.

我不知道为什么,我做了所有应该将它设置为生产的东西?谁知道我可能错过了什么?在应用程序的某个地方,我应该改变一些说生产环境的东西吗?我认为只需要在rails 2.x中完成

在此先感谢您的帮助.

apache production ruby-on-rails passenger

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

解析文本以在 Ruby 1.9.x 中查找 html 标签

我希望能够在两个标签之间匹配文本,从开始标签开始到结束标签。

假设我在名为“text”的变量中有这个文本块:

some text some text some text some text some text
<some_tag>
  some text some text some text some text some text
</some_tag>
some text some text some text some text some text
Run Code Online (Sandbox Code Playgroud)

我想解析内容 'text' 什么都不做,直到它找到一个开始标签,在这种情况下是 'some_tag',一旦它找到一个开始标签,我希望它捕获所有内容,直到标签关闭。

我一直在玩块和正则表达式大约一个小时,似乎无法找到解决这个问题的好方法。

我很感激任何和所有的指针,谢谢!

ruby string text-parsing

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

新行字符搞砸<pre>标签(Ruby on Rails)

我正在开发一个博客和一些非常烦人的东西正在发生换行符(\n).一切正常,除非我发布一个包含预标签的帖子,我的换行符会搞砸缩进.

所以如果我的代码看起来像这样

<pre>
  <code>
    some code some code
    more code more code
  </code>
</pre>
Run Code Online (Sandbox Code Playgroud)

由于某种原因,使用帖子保存在db字段中的换行符会导致pre标签内的任何内容被一两个选项卡缩进.

我不知道为什么会这样做,但如果我做了类似的事情

string.gsub!(/\n/, "<br />")
Run Code Online (Sandbox Code Playgroud)

缩进被删除,所以我知道它与\n有关.但后来我的问题是,有太多的换行符,然后格式是关闭的.

那么我尝试用一​​个看起来像这样的方法捕获pre标签内的所有内容

def remove_newlines(string)
   regexp = /<pre>\s?(.*?)\s?<\/pre>/
   code = regexp.match(string)
   code[1].gsub!(/\n/, "<br />")
end
Run Code Online (Sandbox Code Playgroud)

但我无法让它正常工作.

任何人都知道如何摆脱这个奇怪的缩进问题,或任何指针?

谢谢!

ruby regex newline ruby-on-rails

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