User photos album in Ruby on Rails - ruby-on-rails

I am building an app where user can upload pictures. For now only one picture at a time will do. I have searched around the Web and here at Stack Overflow, but don't really seem to find what I am looking for or at least I don't know what I am looking for if it exists here at the site.
I have tried implementing paperclip and allow users to upload pictures through that and not deleting the old picture when uploading a new one. But I don't really know where to go from here to display all the pictures that a user has uploaded. How do I do this the best way? Should I continue using paperclip or is there an even more suitable gem for my needs?

I prefer carrierwave, over Paperclip, because it has more options and easy to setup. However without knowing what is your ultimate goal for your photo app, it's a little hard to tell what to do next.
If you have a roadmap or feature list, that would be helpful for us to help you with your next move.
But, if it is a simple photo app, might as well try to build it on top of an existing CMS like Refinery; you could easily build a plugin to upload images with Refinery.

Related

Using cloud storage for images in a Ruby on Rails app

I have been struggling with an efficient way to store and manage the pictures I need in a Ruby on Rails app I am building. I will use a real estate app as an example:
In my real estate app I have a House model and a House controller. On the House #show page I want to list information on the house as well as display pictures for that particular house. Some of the houses have five pictures, others have one. What is the best way to store these pictures and display the ones that pertain to that particular house?
Obviously I do not want to store them with the app, that would be way too bulky. I have tried using Amazon S3 buckets and the Amazon SDK but was unable to get it up and running. Amazon's documentation is all over the place. I currently have pictures stored in a Google Cloud Storage Bucket. They have a public link so an individual image is easy to display. The problem lies in the fact that each house might have a different number of pictures associated with it.
Google's documentation is difficult to navigate, especially when it comes to Ruby. If there were an easy way to access my bucket and filter the files stored there, this would be a breeze. Any ideas? Does anyone know how to do this in Ruby? This type of photo storage is very common and I am surprised at the difficulty I've had in getting it set up. Thanks for your help.
Amazon S3 is one of the best options out there, but it can be a little confusing. Try the paperclip gem for adding file associations to your models.
It gives you multiple options for how to store files and makes it easy.

What are my options for resizing an image in my rails application?

I would honestly appreciate feedback, or an on edit, on what I should change about this post instead of all the down votes. I'm new to web development, and I had an honest question. If this isn't the place to ask it, please point me in the right direction.
I have a Ruby on Rails application where part of the core purpose involves displaying images that I pull from the Facebook Graph API. And I want to be able to display the images in a uniform size.
What I'm hoping I can do: I'm trying to just store the id of the image from Facebook to my database and resize the image after I pull it from Facebook's servers. I was thinking that this would save on storage costs. I've been looking at the RMagick gem that binds Ruby to the ImageMagick library, specifically their resize method.
Another option I've considered: I'm thinking about adding a cropping feature. To do this though, I think I would need to set up a storage service, like Amazon's S3. Then I would pull from the image storage service where the cropped images are stored instead of pulling from Facebook and resizing client-side.
Are there any options I might not be considering? And how accurate are my examples to approaches that could be taken.
If you have a huge number of images to show, then go with "resize - store - show". If less then go with an on-the-fly process.
Here are a few well-known gems that help you process images, but choose according to your requirement:
CarrierWave
Paperclip
Dragonfly
refile (new gem)
See "Compare CarrierWave ,Paperclip and Dragonfly in rails" and "Refile: Fixing Ruby File Uploads".

Best approach to Users Profile Images in Rails App

I am new to Rails and have been diving into many tutorials and online material. I am now beginning to plan/develop my own app. From all the reading I have done I am yet to come across an industry standard way of handling user profile pictures. I have bullet point what I intend to do (below) and would like some suggestions whether this is a good approach and on the right track or whether there is a much better/secure/standard way:
add a 'ProfilePhotoPath' column to my User Model/Table of type String, which will hold the location path/name of the photo
on sign-up form implement an image upload functionality to upload profile pic and store at specified location (reference in step 1 above)
note: I have come across the 'paperclip gem' and 'imagemagick', is this a better easier approach to what I want to achieve?
There are two better ways to upload profile image using Carrierwave or Paperclip.
If you want to use Carrierwave then refer this tutorial Image Upload using Carrierwave
And if you want to go for Paperclip, then refer this links Upload image using Paperclip video tutorial
Another link with steps is Upload profile image using Paperclip
Most people use Paperclip or a more robust solution would be Carrierwave.
Both are really good. I would tell you to learn Paperclip first.
It's fairly easy if you're just starting out.
Edit: checkout this link. Click the green 'run' button to see the app.
http://runnable.com/UnnhcBiQoFhwAAEb/how-to-upload-files-using-paperclip-for-ruby-on-rails

rails 4 - what wysiwyg offers image uploading based on user groups?

Not sure the title explains what i'm trying to do or not. Basically, i am building a wiki-like ruby on rails application. I have model called Page that needs a WYSIWYG for the content data. My application has many users that will be grouped by an Organization so each user will belong_to an Organization. My only requirements are 1) it is a WYSIWYG that allows S3 image uploading and 2) When you click "upload image" you should be able to see all the images that have been uploaded by users that belong to the same organization as you. I will need to store the images in a bucket in S3 like <bucket_name>/<organization_id>/rest_of_image_path.... Hopefully this all makes sense.
Does anyone know of a wysiwyg editor that will do this? If someone could point me in the right direction i'd be greatly appreciative! Also, if this is not the appropriate place for this question to be please let me know and i'll move it. Thanks!

Image upload options for website users

I want to be able to provide my website users with the ability to upload a profile picture. What are my options? What is the best way to do this? I would need to be able to limit the image size, crop / resize the image so that I can display thumbnails of the image. The website is written using Ruby on Rails
In alternate plugin to manage your upload file is carrierwave
The PaperClip plugin is pretty much the new hotness (standard):
http://github.com/thoughtbot/paperclip
It supports different image processors but we use ImageScience. RMagick leaks memory
I agree with the others recommendation of Paperclip for handling any kind of upload.
However for profile pictures in particular, if you are storing your user's email addresses you might like to consider using Gravatar, as StackOverflow does, to effectively "outsource" this functionality and let your users maintain consistent avatars among all the sites they use.

Resources