Friday, 23 September 2016

How to create like in rails

                   How to Create Like in Rails

create like table

class CreateLikes < ActiveRecord::Migration
  def change
    create_table :likes do |t|
      t.boolean :like
      t.integer :user_id
      t.integer :event_id
      t.timestamps
    end
  end
end

relationship  like model
    belongs_to :user
    belongs_to :event
    validates_uniqueness_of :user, scope: :event

relationship in user or any model like this

 has_many :like, dependent: :destroy

  def thumbs_up_total
      self.like.where(like: true).size
  end
 
  def thumbs_down_total
      self.like.where(like: false).size
  end

Controller code in productcontroller , eventcontroller any model you want to use
   def like
       #used set_event on bottom and top
       like = Like.create(like: params[:like], user: current_user, event: @event)
        if like.valid?
            flash[:success] = "Your selection was successfull"
            redirect_to :back
        else
           flash[:danger] = "You can only like/dislike a event once"
           redirect_to :back
        end
    end


view in you write same as ( x is local object you can replace from your object like event , product)

  <div class="thumbs">
                    <%= link_to like_event_path(x, like: true), method: :post do %>
                    <i class="white glyphicon glyphicon-thumbs-up">&nbsp<%= x.thumbs_up_total %></i>
                    <% end %> &nbsp&nbsp&nbsp&nbsp
                    <%= link_to like_event_path(x, like: false), method: :post do %>
                    <i class="white glyphicon glyphicon-thumbs-down">&nbsp<%= x.thumbs_down_total %></i>
                    <% end %>
                   
                </div>


route
resources :events do
    member do
      post 'like'
      end







Friday, 10 June 2016

How to create dropdown in active_admin using scope


     1.First create scope in your model like this :-
         
           1.  scope :generalnews, -> { where(news_type: 'generalnews') }
   2.  scope :ceonews, -> { where(news_type: 'ceonews') }

      2. in active_admin

   f.input :news_type, :collection => News.all.map{|u| [u.news_type, u.id]}

  

How to Create video Thumbnailer in rails



                      How to Create video Thumbnailer in rails


                     1.     In model you have to write 
                         
                             mount_uploader :video, AvatarUploader
                    
                      2.   write gem in your gemfile
                             
                              gem 'carrierwave' 
                              gem 'carrierwave-video-thumbnailer' 
                      
                      3.  and install dependance for thumbnailer
                                    
                              sudo apt-get install ffmpegthumbnailer
                      
                    4.   write code in your uploader folder
                      include CarrierWave::Video  # for your video processing
                      include CarrierWave::Video::Thumbnailer

                      version :thumb do
    process thumbnail: [{format: 'png', quality: 10, size: 192, strip: false, logger: Rails.logger}]
    def full_filename for_file
      png_name for_file, version_name
    end
  end

  def png_name for_file, version_name
    %Q{#{version_name}_#{for_file.chomp(File.extname(for_file))}.png}
  end


Note : strip  should be false for thumbnailer , go to public folder -> tmp->video -> 1-> you can file thumbnailer in your folder




Revert last commit or second last and more....

 Git revert commit_id -m 1 this command willl revert last commit  Git revert commit_id -m 2 this command will revert second commit with same...