Skip to content

Instantly share code, notes, and snippets.

## If the matched image has a "?" as part of the source the gsub fails
## http://example.net/test.jpg <-- Does get gsub'd
## http://example.net/test.jpg?624332 Doesn't get gsub'd
imgs = self.body_html.scan(/\[img\](.*?)\[\/img\]/i)
imgs.each do |img|
body_html.gsub!(/\[img\]#{img[0]}\[\/img\]/i, "<img src=\"#{img[0]}\" />")
end
@posts = @topic.posts.paginate(:per_page => 25, :page => params[:page], :order => [:created_at.asc]) # Runs an update on posts
@posts = Post.paginate(:per_page => 25, :page => params[:page], :order => [:created_at.asc], :topic_id => @topic.id) # Doesn't run an update on posts
## The first line above calls this on the show action, when it should only run before saving an object
before :save, :white_list
Merb::Mailer.new(:to => "[email protected]",
:from => "#{email}",
:subject => "#{subject}",
:html => "#{name} sent a message. Category: #{category} -- Message: #{message}").deliver!
Updating password a no go
irb(main):004:0> u.update_attributes(:password => "test", :password_confirmation => "test")
~ SELECT `id` FROM `users` WHERE (`login` = 'justin') ORDER BY `id` LIMIT 1
=> true
irb(main):005:0>
Updating other attributes works fine
irb(main):007:0> u.update_attributes(:city => "test")
~ SELECT `id` FROM `users` WHERE (`login` = 'justin') ORDER BY `id` LIMIT 1
~ UPDATE `users` SET `city` = 'test', `updated_at` = '2008-11-21 11:06:40' WHERE (`id` = 1)
irb(main):014:0> u.update_attributes(:password => "test", :password_confirmation => "test")
~ SELECT `id` FROM `users` WHERE (`login` = 'justin') ORDER BY `id` LIMIT 1
=> true
url call:
"/posts/13"
eager_cache([Posts, :show], :store => :action_store) { self.class.build_request(url(:post, @comment.post), :id => @comment.post.id) }
Doesn't return any errors, but doesn't cache either
#<Merb::Cache::CacheRequest:0xb71318e0 @params={}, @route_params={}, @path="/posts/13", @body=nil, @env={"SERVER_NAME"=>"localhost", "HTTP_USER_AGENT"=>"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.1) Gecko/20060214 Camino/1.0", "HTTP_ACCEPT_ENCODING"=>"gzip,deflate", "PATH_INFO"=>"/", "HTTP_HOST"=>"localhost", "HTTP_ACCEPT_LANGUAGE"=>"en,ja;q=0.9,fr;q=0.9,de;q=0.8,es;q=0.7,it;q=0.7,nl;q=0.6,sv;q=0.5,nb;q=0.5,da;q=0.4,fi;q=0.3,pt;q=0.3,zh-Hans;q=0.2,zh-Hant;q=0.1,ko;q=0.1", "HTTP_CACHE_CONTROL"=>"max-age=0", "SERVER_PROTOCOL"=>"HTTP/1.1", "SCRIPT_NAME"=>"/", "HTTP_KEEP_ALIVE"=>"300", "SERVER_SOFTWARE"=>"Mongrel 1.1", "REMOTE_ADDR"=>"127.0.0.1", "HTTP_REFERER"=>"http://localhost/", "HTTP_VERSION"=>"HTTP/1.1", "HTTP_ACCEPT_CHARSET"=>"ISO-8859-1,utf-8;q=0.7,*;q=0.7", "REQUEST_URI"=>"/", "SERVER_PORT"=>"80", "GATEWAY_INTERFACE"=>"CGI/1.2", "HTTP_ACCEPT"=>"text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5", "REQUEST_METHOD"=>"GET", "HTTP_CONNECTI
def show(id)
@post = Post.get(id)
raise NotFound unless @post
display @post
end
def create(comment)
@comment = Comment.new(comment)
if @comment.save
eager_cache([Posts, :show], :store => :action_store) { self.class.build_request(url(:post, @comment.post)) }
identify(Post => :id) do
with(:controller => 'posts') do
match("/posts/:id").to(:action => "show").name(:post)
end
end
def create
...
## Using @comment.post and @comment.post.id both error out
eager_cache([Posts, :show], :store => :action_store) { self.class.build_request(url(:post, @comment.post)) }
eager_cache([Posts, :show], :store => :action_store) { self.class.build_request(url(:post, @comment.post.id)) }
...
end
.... Enter comment into SQL ....