1. Add your migration file
There is a rails tool to help you make the file. For example, if I wanted to add an age column to the users table, I would run:
> rails g migration add_age_to_users age:integer
invoke active_record
import {CSSTransition} from "react-transition-group" | |
import {forwardRef, useImperativeHandle, useRef, useState} from "react" | |
import {call} from "src/util/call" | |
export function useDebut(args: {enter?: () => any; exit: () => any}) { | |
const ref = useRef<any>() | |
const api = { | |
props: { | |
ref, | |
onExit: args.exit, |
/* This could be a way to reduce (haha) the redux boilerplate. */ | |
import {createStore} from "redux" | |
function createReduxModel(prefix, config) { | |
const actionType = (name) => `${prefix}_${name.toUpperCase()}_SET` | |
class Model { | |
constructor(store) { | |
for (const [name] of Object.entries(config)) { |
# Put this in the controller | |
def filters_for_this_action | |
_process_action_callbacks.select do |filter| | |
ifs = filter.options[:if].first || 'true' | |
unlesses = filter.options[:unless].first || 'false' | |
eval(ifs) && !eval(unlesses) | |
end.map { |filter| [filter.kind, filter.filter] } | |
end |
How to solve this "special" goals question. | |
Since we are saving the questions through the cycle model via the | |
`accepts_nested_attributes`, feature in Rails, we don't need to make | |
more than one ajax call when saving the questions. When we save all | |
the questions data, we will also use this "special" goals question (GQ) | |
to add the following fields to the save data. | |
* cycle.goals_question_type | |
* cycle.goals_question_multchoice_desc |
/** | |
* FORM FIELD CONFIGURATION | |
* | |
* In the configure-cycle.js view, we will determine what type of | |
* cycle we are dealing with, and choose the correct configuration | |
* object. The keys of these configuration objects represent the file | |
* name where the subview lives. The value represents the options | |
* object that will be passed to the view's initialize() method. | |
*/ |
# See if an object is "complete" and give it a score. Example useage | |
# would look like this. | |
CompletenessAnalyzer.new(object: Event.find(1), criteria: [ | |
Criterion.new({ | |
name: 'Audience', | |
message: 'Whom is your event is intended for?', | |
condition: ->(event) { event.audiences.empty? } | |
}), | |
Criterion.new({ | |
name: 'Contact Info', |
# This class calls collection.build on each association that you specify in the @@variables, | |
# then calls assign_attributes on the attributes specific to this model. | |
# | |
# This class was created after I asked this question on stackoverflow. | |
# http://stackoverflow.com/questions/30109549/rails-preview-update-associations-without-saving-to-database | |
class PreviewEventUpdate | |
attr_accessor :params, :nested_params, :event | |
@@ids_keys = [:audience_ids, :group_ids, :location_ids, :user_ids].freeze |
#ifndef MAC //if not MAC | |
#include <GL\glut.h> | |
#else // MAC includes below | |
#include <GLUT/glut.h> | |
#endif | |
/********************** | |
::: UTILITY CLASSES ::: | |
***********************/ |
#include <stdlib.h> | |
#include <GLUT/glut.h> | |
#include <math.h> | |
/************************* | |
::: HELPER VARIABLES ::: * | |
*************************/ | |
enum FONT_TYPE { |