小编Ant*_*tre的帖子

使用Paperclip进行图像定位和验证?

我正在寻找一种方法来确定图像方向,最好使用Paperclip,但它是否可能,或者我是否需要使用RMagick或其他图像库?

案例场景:当用户上传图像时,我想检查方向/尺寸/尺寸以确定图像是纵向/横向还是方形,并将此属性保存到模型中.

ruby-on-rails image-processing paperclip

10
推荐指数
2
解决办法
6379
查看次数

命名范围不与时区合作?

我遇到了一个非常狡猾的问题.这是我的模特:

class Entry < ActiveRecord::Base
  default_scope :order => 'published_at DESC'
  named_scope :published, :conditions => ["published_at < ?", Time.zone.now], :order => 'published_at DESC'
  belongs_to :blog
end
Run Code Online (Sandbox Code Playgroud)

现在,如果我这样做

@entries = Entry.published.paginate_by_blog_id @blog.id,
        :page => params[:page],
        :order => 'published_at DESC', 
Run Code Online (Sandbox Code Playgroud)

除非我将published_at移回一小时,否则它不会返回帖子.但:

@entries = Entry.paginate_by_blog_id @blog.id,
        :page => params[:page],
        :conditions => ["published_at < ?", Time.zone.now], 
        :order => 'published_at DESC', 
Run Code Online (Sandbox Code Playgroud)

它工作正常!

我在这里疯了,任何人都有任何想法甚至开始调试?

timezone named-scope ruby-on-rails

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

页面缓存,自动过期/清扫器的最佳实践

到目前为止,我从未真正深入研究过Rails提供的惊人的缓存技术.我真的无法理解的一件事是如何解决这个特殊问题.

鉴于我有一个包含许多帖子的博客模型:

class Blog < ActiveRecord::Base
  has_many :posts
end

class Post < ActiveRecord::Base
  named_scope :published, :conditions => ["published_at < ?", Time.now]
end
Run Code Online (Sandbox Code Playgroud)

BlogsController中的show动作显示已发布的帖子列表:

// BlogsController

def show
 @blog = Blog.find(params[:id)
end

// View

<% @blog.posts.published.each do |p| %>
 <h2><%=h p.title %></h2>
 <%= simple_format(p.content) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

当对published_at属性进行任何更改时,缓存必须到期.但是当将来放置published_at并达到该时间时,它还需要执行此操作.

你们能告诉我一些如何最好地解决这个问题的想法和指示吗?Cron-job还是我失去了理智?

caching ruby-on-rails

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