Heroku: How to Restore Database dump

Restore database to local database.

Remember that your database should already exist.

pg_restore --clean --dbname=database_name --username=postgres1 ~/Downloads/dump

Prerequites

If you can’t remember how to create the backup, here’s a simple script

Create the backup

heroku pg:backups:capture -a appname
Starting backup of postgresql-acute-52332... done

Use Ctrl-C at any time to stop monitoring progress; the backup will continue running.
Use heroku pg:backups:info to check progress.
Stop a running backup with heroku pg:backups:cancel.

Backing up DATABASE to b117... done

Download the backup

You will need to get the url of the backup you just created. Here is the script to retrieve the url of your backup. You can just paste this on to your browser address bar.

heroku pg:backups public-url b117 -a appname

Done!

 Sass Cheatsheet

Variables

$white: #FFF;

body {
  color: $white;
}

Mixins

Example 1

@mixin font-size($times) {
  font-size: $times * 1.2px;
}

.highlight {
  @include font-size(3);
}

Example 2

@mixin border-radius($radius) {
  -webkit-border-radius: $radius;
     -moz-border-radius: $radius;
      -ms-border-radius: $radius;
          border-radius: $radius;
}

.box {
  @include border-radius(10px);
}

Extends

%button {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  border-radius: 4px;
}

.white-button {
   @extend %button;
  background-color: #FFF;
}

.green-button {
   @extend %button;
  background-color: #00FF00;
}

 ReactJS: JSX Patterns for New React Developers

I’ve been working with ReactJS for a while now and here are a few things I’ve known that makes it easier for new ReactJS developers to work with ReactJS.

1. Lists

  render() {
    const { taskItems } = this.props;
    return taskItems.map((taskItem) => {
      return (
        <div key={taskItem.id}>
          <TaskItem
            taskItem={taskItem}/>
        </div>
      );
    });
  }

2. Shortcut validation and render

render() {
  {hasContent(taskItems) && <TaskItemsModal />
}

3. Ternary conditions

render() {
  {hasContent(taskItems)
    ? <TaskItemsModal
        showModal={this.state.showModal}
        onHide={this.closeModal}
        taskItems={taskItems} />
    : ""}
}

4. Transferring props

<Parent value="honesty" />

class Parent extends React.Component {
  render () {
    return <Child {...this.props} />
  }
}

5. Managing States

Initializing state

constructor(props) {
  super(props)
  this.state = {
    name: "Eric"
  }
}

Setting state

this.setState({ name: 'Nick' })

Using the state

render () {
  const { name } = this.state;
}

Default State

class People extends React.Component {
  constructor (props) {
    super(props)
    this.state = { loading: false }
  }
}

See: ReactJS States

6. ReactJS synthetic events

class UserForm extends React.Component {
  constructor() {
    this.onChange = this.onChange.bind(this);
    this.state = {
      value: ''
    }
  }

  onChange (event) {
    this.setState({ value: event.target.value })
  }

  render () {
    <input type="text"
        value={this.state.value}
        onChange={this.onChange} />
  }
}

Reference: ReactJS Events

 ActiveModel::ForbiddenAttributesError in ActiveAdmin

Active Admin is one of the most famous Rails gems built to create instant administration pages. Active Admin is a highly recommended gem. I have known a lot of production-ready sites that are using this particular gem.

There are a few things you need to learn while working with Active Admin. Aside from your typical Rails application, you will also have to learn Active Admin DSL.

Here’s a problem often encountered by Ruby on Rails developers working with Active Admin.

ActiveModel::ForbiddenAttributesError

This particular error informs us that strong parameters is being used and you will need to define the parameters your form is submitting. Here’s the particular fix:

ActiveAdmin.register Topic, as: "News" do
  # Add the following
  permit_params :event_date, :title, :body
end

You will need to replace event_date, title and body with your parameters.

and voila! fixed!

Screen shot 2018 02 13 at 9.55.16 pm