Skip to content

Instantly share code, notes, and snippets.

class Claim < ActiveRecord::Base
self.implicit_order_column = :created_at
end
class Feed < ActiveRecord::Base
enum status: %i[ active pending trashed ]
end
Feed.not_active # => where.not(status: :active)
Feed.not_pending # => where.not(status: :pending)
Feed.not_trashed # => where.not(status: :trashed)
User.pick(:name)
# SELECT "users"."name" FROM "users" LIMIT ? [["LIMIT", 1]]
# => "David"
User.where(id: 5).pick(:name, :city)
# SELECT "users"."name", "users"."city" FROM "users" WHERE "users"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]]
# => ["Naiya", "Goa"]
User.limit(1).pluck(:name).first
# SELECT "users"."name" FROM "users" LIMIT ? [["LIMIT", 1]]
# => "David"
User.where(id: 1).pluck(:name).first
# SELECT "users"."name" FROM "users" WHERE "users"."id" = $1
# => "David"
User.pluck(:id, :name)
# SELECT users.id, users.name FROM users
# => [[1, 'David'], [2, 'Jeremy'], [3, 'Jose']]
class Post < ApplicationRecord
validates :title, presence: true
end
class CreatePosts < ActiveRecord::Migration[6.0]
def change
create_table :posts do |t|
t.string :title, index: { unique: true }
t.timestamps
end
end
end
@NaiyaShah-BTC
NaiyaShah-BTC / application.js
Created April 10, 2019 12:04
Rails - 6 - application.js file after requiring jquery
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery'
})
)
employee_city_data = { Bob: 'Banglore', Steve: 'Pune', Joe: 'Ahmedabad' }
# bad
employee_city_data[:Naiya] || 'Ahmedabad'
# good
employee_city_data.fetch(:Naiya, 'Ahmedabad')