class Paperclip::Validators::AttachmentContentTypeValidator
def mark_invalid(record, attribute, types)
record.errors.add(attribute, :invalid, message: I18n.t('paperclip.file_content_type_invalid'))
end
end
lang_j:
paperclip:
file_content_type_invalid: "File content invalid"
def some_usefull_regular_action
raise 'method must call with transaction. Rollback' unless ActiveRecord::Base.connection.transaction_open?
operation A
operation B
end
def my_action
ActiveRecord::Base.connection.transaction do
some_usefull_regular_action()
operation C
end
end
Использование собственного компрессора
Настройки конфигурации компрессора для CSS и JavaScript также могут принимать любой объект. Этот объект должен иметь метод compress, принимающий строку как единственный аргумент, и он должен возвращать строку.class Transformer def compress(string) do_something_returning_a_string(string) end end
Чтобы его включить, передайте new объект в настройку конфигурации в application.rb:config.assets.css_compressor = Transformer.new
# Fix Odnoklassniki OAuth gem via
# https://github.com/incubus/omniauth-odnoklassniki/issues/10
OmniAuth::Strategies::Odnoklassniki.class_eval do
def callback_url
options.redirect_url || (full_host + script_name + callback_path)
end
end
config.omniauth :odnoklassniki,
Rails.application.secrets.odnoklassniki_app_id,
Rails.application.secrets.odnoklassniki_app_secret,
:public_key => Rails.application.secrets.odnoklassniki_app_public
odnoklassniki_app_id: '1xxxxxxx8'
odnoklassniki_app_public: CxxxxxxxxxxxxxA
odnoklassniki_app_secret: BxxxxxxxxxxxxxxxxxxxxB
%a{:href=>destroy_user_session_path} Выйти
# The default HTTP method used to sign out a resource. Default is :delete.
config.sign_out_via = :get
devise_for :users, :controllers => { :omniauth_callbacks => 'users/omniauth_callbacks',
:registrations => 'users/registrations',
:confirmations => 'users/confirmations',
:sessions=> 'users/sessions' },
:path => '',
:path_names => { :sign_in => 'вход', :sign_out => 'выход', :sign_up => 'регистрация'}
attr_accessor :warranty
def warranty=(value)
write_attribute :warranty, value.to_date
rescue
#если строка, пришедшая в параметрах не валидна, в базу пойдет null
end
def warranty
self[:warranty].strftime '%d.%m.%Y' if self[:warranty]
end