-
Mix
ActionText::Attachableinto your mentionable person model:class Person < ApplicationRecord include ActionText::Attachable # ...
end
| # see http://stackoverflow.com/questions/5880962/how-to-destroy-jobs-enqueued-by-resque-workers - old version | |
| # see https://github.com/defunkt/resque/issues/49 | |
| # see http://redis.io/commands - new commands | |
| namespace :resque do | |
| desc "Clear pending tasks" | |
| task :clear => :environment do | |
| queues = Resque.queues | |
| queues.each do |queue_name| | |
| puts "Clearing #{queue_name}..." |
| HTTP status code symbols for Rails | |
| Thanks to Cody Fauser for this list of HTTP responce codes and their Ruby on Rails symbol mappings. | |
| Status Code Symbol | |
| 1xx Informational | |
| 100 :continue | |
| 101 :switching_protocols | |
| 102 :processing |
| # config/routes.rb | |
| resources :documents do | |
| scope module: 'documents' do | |
| resources :versions do | |
| post :restore, on: :member | |
| end | |
| resource :lock | |
| end | |
| end |
| class ActionDispatch::Routing::Mapper | |
| def draw(routes_name) | |
| instance_eval(File.read(Rails.root.join("config/routes/#{routes_name}.rb"))) | |
| end | |
| end | |
| BCX::Application.routes.draw do | |
| draw :api | |
| draw :account | |
| draw :session |
| http://stackoverflow.com/questions/22667401/postgres-json-data-type-rails-query | |
| http://stackoverflow.com/questions/40702813/query-on-postgres-json-array-field-in-rails | |
| #payload: [{"kind"=>"person"}] | |
| Segment.where("payload @> ?", [{kind: "person"}].to_json) | |
| #data: {"interest"=>["music", "movies", "programming"]} | |
| Segment.where("data @> ?", {"interest": ["music", "movies", "programming"]}.to_json) | |
| Segment.where("data #>> '{interest, 1}' = 'movies' ") | |
| Segment.where("jsonb_array_length(data->'interest') > 1") |
| Trix.config.textAttributes.red = { | |
| style: { backgroundColor: "red" } | |
| } | |
| element.editor.activateAttribute("red") | |
| // See available attribute options in: | |
| // https://github.com/basecamp/trix/blob/master/src/trix/config/text_attributes.coffee | |
| // https://github.com/basecamp/trix/blob/master/src/trix/config/block_attributes.coffee |
| /* | |
| ERB template chunk from The Feed's display of emails: | |
| <section class="postings postings--feed-style" id="postings" | |
| data-controller="pagination" data-pagination-root-margin-value="40px"> | |
| <%= render partial: "postings/snippet", collection: @page.records, as: :posting, cached: true %> | |
| <%= link_to(spinner_tag, url_for(page: @page.next_param), | |
| class: "pagination-link", data: { pagination_target: "nextPageLink", preload: @page.first? }) unless @page.last? %> | |
| </section> |
| class Ticket < ActiveRecord::Base | |
| belongs_to :grouper | |
| belongs_to :user | |
| validate :user_cant_be_blacklisted, on: :confirmation | |
| validate :user_cant_double_book, on: :confirmation | |
| validate :grouper_cant_be_full, on: :confirmation | |
| validate :grouper_cant_have_occurred, on: :confirmation |
| import { Controller } from "stimulus"; | |
| import { get } from "@rails/request.js"; | |
| import { PageSnapshot } from "@hotwired/turbo"; | |
| export default class extends Controller { | |
| static values = { hoverTime: Number }; | |
| connect() { | |
| this.element.addEventListener("mouseover", this.prefetch.bind(this)); | |
| this.element.addEventListener("touchstart", this.prefetch.bind(this)); | |
| } |