class Address < ActiveRecord::Base
belongs_to :customer
end
class Customer <ActiveRecord::Base
has_one :address
has_many :invoices
end
This is a collection of links, examples and rants about Presenters/Decorators in Rails.
The "Decorator" pattern slowly started gaining popularity in Rails several years ago. It is not part of core Rails, and there's many different interpretations about how it should work in practice.
Jay Fields wrote about it in 2007 (before he switched back to Java and then Clojure): http://blog.jayfields.com/2007/03/rails-presenter-pattern.html
![lgtm](http://i.imgur.com/XTVGHwg.gif) |
class Quesion < ApplicationRecord | |
SUBMITITABLE_TYPES = %w(Open MultipleChoice Scale).freeze | |
validates :maximum, presence: true, if: :scale? | |
validates :minimum, presence: true, if: :scale? | |
validates :question_type, presence: true, inclusion: SUBMITITABLE_TYPES | |
validates :title, presence: true | |
def summary | |
case question_type |
class Greeting | |
def initialize text | |
@text = text | |
end | |
def welcome | |
@text | |
end | |
end |
class Encrypter | |
def initialize(key) | |
@key = key | |
end | |
def encrypt(reader, writer) | |
key_index = 0 | |
while not reader.eof? | |
clear_char = reader.getc | |
encrypted_char = clear_char ^ @key[key_index] | |
writer.putc(encrypted_char) |
require 'active_support/log_subscriber' | |
module ActiveStorage | |
class LogSubscriber < ActiveSupport::LogSubscriber | |
def service_upload(event) | |
message = event.payload[:something] | |
info event, color(message, GREEN) | |
end | |
end | |
end |
import React, { Component } from "react"; | |
import logo from "./logo.svg"; | |
import "./App.css"; | |
import InputField from "./FancyInput"; | |
class App extends Component { | |
constructor(props) { | |
super(props); | |
this.textInput = React.createRef(); | |
// this.handleSubmit = this.handleSubmit.bind(this); |
Content: HuyND đã lập trình một con robot. Robot đi theo đường thẳng và có thể nhận lệnh "T" ("quay 180 độ") và "F" ("đi 1 đơn vị về phía trước").
Bạn được cho 1 danh sách các lệnh cho robot. Bạn cần phải đổ chính xác n lệnh từ danh sách (1 lệnh có thể đổi nhiều lần). Vậy Robot có thể đi tối đa bao xa nếu theo đúng thứ tự các lệnh sau khi đã chỉnh sửa ?
Input
Dòng đầu tiên là chuỗi các dòng lệnh ban đầu. Chiều dài từ 1 đến 100 kí tự, bao gồm chỉ 2 lệnh "T" và "F". Dòng thứ 2 là số nguyên n (1 ≤ n ≤ 50) — Số lệnh bạn phải đổi trong danh sách.