Skip to main content

Simple Image and File Upload using Ruby on Rails (CarrierWave gem)




I’m going to show you a very simple way to upload your attachments or a picture using CarrierWave gem.

Steps:

1.    Open Terminal.

2.   Create a new project

terminal > rails new imageupload

3.   Add this line to Gemfile

    gem ‘carrierwave

4.   terminal > bundle install

5.   terminal > rails g uploader image

6.   terminal > rails g scaffold Painting name:string image:string

7.   terminal > rake db:migrate

8.   Add this line to painting.rb (app/models/painting.rb)

    class Painting < ActiveRecord::Base
    mount_uploader :image, ImageUploader
    end

9.   And then in your app/views/paintings/_form.html.erb edit your code, which become

    <%= f.label :image %>
    <%= f.text_field :image %>

   Change to

    <%= f.label :image %>
   <%= f.file_field :image %>

10.   edit your show.html.erb which become

    <%= image_tag @painting.image_url.to_s %>

11.   terminal > rails s

Note : Configure routes.rb for page redirection

Comments

Popular posts from this blog

PG::DuplicateTable: ERROR: relation "taggings" already exists in Ruby on Rails

Error: PG::DuplicateTable: ERROR:  relation "taggings" already exists Solution : Already the table present in your database.But migration also trying to create a table in database.For this reason error occurred. So try to remove the table (taggings) from your database.   postgresql :     > DROP TABLE IF EXISTS taggings;   Rails console :     > ActiveRecord::Migration.drop_table(:taggings)

How to get a YouTube video thumbnail dynamically from the YouTube API using AngularJS

In this tutorial I have explain about the get YouTube thumbnail using AngularJS <html ng-app id="YoutubeApp">   <head>     <title>       How to get a YouTube video thumbnail dynamically from the YouTube API using  AngularJS Tutorials</title>     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>     <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>     <script>       function YoutubeController ($scope) {         $scope.todos = [];         $scope. addVideo = function() {           $scope.todos.push({text:$scope.todoText, done:false});           $scope.todoText = '';  ...

Ruby on Rails pagination using Kaminari Gem

Kaminari gem is used to create pagination in Ruby on Rails application.           Step 1: Open the terminal and Create the new application       >  rails new simplepage       Step 2: After you create the blog application, switch to its folder:             > cd simplepage             Step 3: Open and Add it to your Gemfile to following line           gem 'kaminari'           Step 4: Run the bundle install.It's used to install the gem dependencies that are  already mentioned in Gemfile               > bundle install             Step 5: create the form using scaffolding. Rails scaffolding is a quick way to generate some of the major pieces of an application.(Create, Edit, Delete, Update, Show) ...