小编ere*_*ere的帖子

Rails Griddler和对话/电子邮件线程

我正在努力弄清楚如何最好地连接/线程化一系列电子邮件.这似乎是一个常见的问题,我很惊讶我无法轻易找到其他人如何处理它的信息.我发现的唯一一件事是关于JWZ线程的帖子,它更关注在一封电子邮件中解析一个线程.我想知道是否有人能指出我当前的一些解决方案.

我正在使用thinkbot griddler gem来处理传入的电子邮件到模型Message(s)和单独的模型Contact(s),我有第三个用于存储回复的模型,例如Reply.

我目前的想法是通过独特的联系方式和主题来描述它们.但话题再次略有改变.例如来自"这个主题" - >"Re:re:这个主题"我可以使用正则表达式尝试解析"re:"s或者我可以使用类似amatch的东西进行字符串比较?

但话又说回来,2个月后为同一个用户出现的同一主题该怎么办?还添加一些关于当前日期的逻辑,以便线程仅使用最近的电子邮件.那么电子邮件标题本身可能还有其他有用的内容吗?

  • 用户(按唯一的电子邮件地址)
  • 唯一主题行(正则表达式:处理问题?)
  • 当前日期(电子邮件必须是相对于彼此的日期)
  • 在电子邮件标题中寻找的其他一些线索?

我粗略地想知道如何做到这一点,我只是好奇地看到一些当前的实现,我似乎无法找到任何.

任何指针将不胜感激!

email ruby-on-rails email-threading ruby-on-rails-4 griddler

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

ruby排序数组的数组

我在弄清楚如何对数组的数组进行排序时遇到了问题.两个阵列都很直接,我确信这很简单,但我似乎无法弄明白.

这是阵列:

[["happy", 1], ["sad", 2], ["mad", 1], ["bad", 3], ["glad", 12]]
Run Code Online (Sandbox Code Playgroud)

我想用内部数组的整数值对它进行排序,这是一个单词出现次数的值,最大的数字是第一个.

ruby arrays enumeration ruby-on-rails

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

rails mongoid标准通过关联找到

我正在尝试通过关联的用户名找到记录,该用户名包含在belongs_to关系中,但它不起作用.

文章属于用户用户有很多文章

Article.where(user_id: someid) 工作正常,但我想使用用户名作为参考,存储在Users表中.

Article.includes(:user).where(:username => "erebus")
Article.includes(:user).where("user.username" => "erebus")
Run Code Online (Sandbox Code Playgroud)

我也有 identity_map_enabled: true

Article.includes(:user).inclusions 返回关系详细信息

不起作用,我不理解什么?

ruby-on-rails associations mongodb mongoid ruby-on-rails-3

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

Heroku和slug大小膨胀

我开始用我的Heroku应用程序撞墙了.

我很清楚slug大小,re:图像,PDF和其他材料的正常问题,但我的问题可能围绕着由凉亭或可能构建包带来的其他资产.

https://devcenter.heroku.com/articles/slug-compiler 多次部署后的Heroku Slug大小

我的Heroku compliled slug看起来像这样:

$ du -h --max-depth=1

4.0K    ./.bower-tmp
30M ./tmp
24K ./features
236K    ./config
195M    ./public
4.0K    ./log
34M ./bin
792K    ./db
355M    ./vendor
8.0K    ./.heroku
22M ./app
64K ./lib
8.0K    ./.bundle
136K    ./.bower-registry
22M ./.bower-cache
24M ./node_modules
12K ./.profile.d
Run Code Online (Sandbox Code Playgroud)

到目前为止,最大的是供应商(355M),但我的本地供应商文件夹实际上是空的,因为是公共的(195M).

但是在heroku上它看起来像:

40M vendor/ruby-2.0.0
21M vendor/node
32K vendor/heroku
12K vendor/assets
103M vendor/jvm
192M vendor/bundle

195M public/assets (bower bloat?)
Run Code Online (Sandbox Code Playgroud)

我猜这是用于凉亭和PDF生成的几个构建包之一.

https://github.com/heroku/heroku-buildpack-nodejs
https://github.com/heroku/heroku-buildpack-ruby
https://github.com/razorfly/wkhtmltopdf-buildpack
Run Code Online (Sandbox Code Playgroud)

我的应用程序本身看起来很瘦22M,但我现在的heroku SLUG是298.4MB!du如果我不使用这些构建包,而是在构建之间迁移到本地计算机上的资产编译,那么单独的供应商目录就不止于此了?我不确定一个好的部署策略(/ slug饮食)应该是什么样的,任何想法都会受到高度赞赏.

更新:

我也试过从我读过的其他人那里重建那个slug,但是没有效果.编译后的团块大小保持不变.

heroku plugins:install https://github.com/heroku/heroku-repo.git
heroku repo:rebuild …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku buildpack bower ruby-on-rails-4

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

在S3和cloudfront上运行carrierwave私有文件

我有来自亚马逊云端服务器的公共和私人文件,公共文件工作正常,但现在我想通过经过身份验证的读取来确保其中一些是私有的.

私有文件有自己的Uploader DocumentUploader,文件是否需要存储在不同的存储桶中?就像现在一样,他们都在一个桶里.

我曾经用Paperclip做了类似的事情,但似乎找不到使用Carrierwave并使用定时Authenticated_url来做这件事的好资源

我看到他们在这里有类似的东西:

http://www.rdoc.info/github/jnicklas/carrierwave/5d1cb7e6a4e8a4786c2b/CarrierWave/Storage/Fog/File#authenticated_url-instance_method

但我不确定如何实现它.

任何提示将非常感谢.

ruby-on-rails amazon-s3 carrierwave amazon-cloudfront ruby-on-rails-4

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

轨道半复杂STI,具有规划路线和控制器的祖先数据模型

我正在试图找出管理特定用例的控制器和模型的最佳方法.

我正在建立一个评论系统,用户可以使用Polymorphic Reviewable建立对几种不同类型的评论.

Country (has_many reviews & cities)
Subdivision/State (optional, sometimes it doesnt exist,  also reviewable, has_many cities) 
City (has places & review)
Burrow (optional, also reviewable ex: Brooklyn)
Neighborhood (optional & reviewable, ex: williamsburg)
Place (belongs to city)
Run Code Online (Sandbox Code Playgroud)

我也想知道增加更多的复杂性.我还想偶尔包括细分...即对于美国,我可能会添加德克萨斯州或德国,Baveria并且也可以审查它,但并非每个国家都有地区,甚至那些可能永远不会被审查的地区.所以它一点也不严格.我希望它尽可能简单灵活.

如果用户可以在一个表单上登陆并选择城市或国家,然后使用Foursquare中的数据进行深入查找以查找城市中的特定位置并进行审核,那就太好了.

我真的不确定我应该走哪条路?例如,如果我有一个国家和一个城市会发生什么......然后我决定添加一个陋居?

我可以将地点标签(即威廉斯堡,布鲁克林)归属于纽约市并且标签属于纽约吗?

标签更灵活,可选择解释它们可能属于哪些区域,标签属于某个城市,但也有地点和可审核?

所以我正在为那些做过相关事情的人寻找建议.

使用Rails 3.2和mongoid.

routes ruby-on-rails sti mongoid ruby-on-rails-3

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

在Postgres中联接同一表的路径不止一个

我继承了一些要清理的表,但首先,我试图加入所需的所有内容,但是遇到了问题,因为SpecialEvents通过表到达表的方法不止一种EventRegistrations

在某些情况下EventRegistrations可以直接使用连接,event_registrations.scoreable_id而在另一些情况下则必须先连接另一个表SpecialPlaces,您可以知道需要通过event_registrations.scoreable_type哪种方式为SpecialEventor或SpecialPlace

基本上,SpecialEvents如果我还必须SpecialPlaces先加入,该如何加入?例如,如果我尝试以SpecialEvents两种不同的方式加入,则会出现错误:“表名“ special_events”指定了多次。

SELECT event_registrations.id, array_agg(teams.name), event_registrations.number_of_players, event_registrations.state, event_registrations.created_at, array_agg(players.email), array_agg(special_events.name), array_agg(special_places.id)
FROM event_registrations
LEFT JOIN teams ON event_registrations.team_id = teams.id
LEFT JOIN team_memberships ON teams.id = team_memberships.team_id
LEFT JOIN players ON team_memberships.player_id = players.id
LEFT JOIN special_events ON event_registrations.scoreable_id = special_events.id AND event_registrations.scoreable_type = 'SpecialEvent'
LEFT JOIN special_places ON event_registrations.scoreable_id = special_places.id AND event_registrations.scoreable_type = 'SpecialPlace' …
Run Code Online (Sandbox Code Playgroud)

sql postgresql join left-join

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

调试activeresource

我正在尝试使用Freebase API获得activeresource(在Rails 3.2上),但我还没有太多运气.如何调试rails以查看正在发生的事情并确保请求格式正确?

我认为后缀.json导致失败,但我不知道如何检查发生了什么?

错误:

ActiveResource::ResourceNotFound: Failed.  Response code = 404.  Response message = Not Found.
Run Code Online (Sandbox Code Playgroud)

码:

class Freebase < ActiveResource::Base
  class << self # also tried without this, same result
    def element_path(id, prefix_options = {}, query_options = nil)
      prefix_options, query_options = split_options(prefix_options) if query_options.nil?
      "#{prefix(prefix_options)}#{collection_name}/#{id}#{query_string(query_options)}"
    end

    def collection_path(prefix_options = {}, query_options = nil)
      prefix_options, query_options = split_options(prefix_options) if query_options.nil?
      "#{prefix(prefix_options)}#{collection_name}#{query_string(query_options)}"
    end
  end


  self.site = "https://www.googleapis.com/freebase/v1/"
  self.format = :json

  #https://www.googleapis.com/freebase/v1/search?query=nirvana&indent=true

  #Freebase.get('search', :query => 'nirvana')



end
Run Code Online (Sandbox Code Playgroud)

更新:

好的,我发现有两件事情出错......

1)我试图取代的collection_path根本不起作用..它仍然将.json附加到每个请求上.2)https://www.googleapis.com:443/freebase/v1/freebases/search.json?query=nirvana 它后来解决了freebase …

rest freebase ruby-on-rails activeresource ruby-on-rails-3

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

使用lambda或proc和rails-money

我希望能够使用模型父级设置的货币动态设置模型上的货币.

像这样:

class Event < ActiveRecord::Base
  belongs_to :edition
  monetize :price_cents, :with_currency => proc { |event| event.edition.currency }
Run Code Online (Sandbox Code Playgroud)

event.edition.currency返回模型父级的符号...例如:gbp

但它不起作用.默认约定是:

monetize :bonus_cents, :with_currency => :gbp
Run Code Online (Sandbox Code Playgroud)

哪个工作正常......任何想法?

https://github.com/RubyMoney/money-rails

lambda ruby-on-rails proc ruby-2.0 ruby-on-rails-4

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

八卦中的Markdown引用

我正在使用markdown很多,并希望有一些模仿wiki引用行为的页面.

例如:

Blah blah blah <ref>{{Some Reference}}</ref>
Run Code Online (Sandbox Code Playgroud)

我将在几页中添加大量引用,并且不确定如何在markdown中完成此行为.我发现的所有资源都需要大量的工作来跟踪它们,你必须自己订购它们,无论是在页面的底部还是顶部,而不是Wiki标记,它可以在底部自动构建列表.一个简单{reflist}的页面.类似于TOC的东西.Markdown中没有这样的东西吗?

我如何扩展RedCarpet或其他处理器来管理整个页面中的ref链接并构建列表?

markdown wiki jekyll redcarpet octopress

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