Как я обрабатываю данные, которые должны быть сохранены в базе данных, но не являются надлежащей моделью в Ruby on Rails?

, если ваше изображение находится в Интернете, лучший способ - использовать glide и RoundedBitmapDrawableFactory (из API 21, но доступен в библиотеке поддержки):

 Glide.with(ctx).load(url).asBitmap().centerCrop().into(new BitmapImageViewTarget(imageView) {
    @Override
    protected void setResource(Bitmap res) {
        RoundedBitmapDrawable bitmapDrawable =
             RoundedBitmapDrawableFactory.create(ctx.getResources(), res);
        bitmapDrawable.setCircular(true);//comment this line and uncomment the next line if you dont want it fully cricular
        //circularBitmapDrawable.setCornerRadius(cornerRadius);
        imageView.setImageDrawable(bitmapDrawable);
    }
});
5
задан James A. Rosen 24 September 2008 в 18:59
поделиться

5 ответов

Из Вашего описания я думаю, что плагин настроек направляющих должен сделать то, в чем Вы нуждаетесь.

От Readme:

"Настройки являются плагином, который делает управление таблицей глобального ключа, пары значения легкий. Думайте о нем как глобальный Хеш, сохраненный в Вас база данных, которая использует простой ActiveRecord как методы для управления. Отслеживайте любую глобальную установку, которую Вы не хотите трудно кодировать в свое приложение для направляющих. Можно сохранить любой вид объекта. Строки, числа, массивы или любой объект".

http://github.com/Squeegy/rails-settings/tree/master

3
ответ дан 14 December 2019 в 04:51
поделиться

Если это - данные, и это находится в базе данных, это - часть модели.

3
ответ дан 14 December 2019 в 04:51
поделиться

Это не действительно проблема RoR; это - общая проблема проектирования OO.

Если бы это был я, то я, вероятно, нашел бы способ осмыслять данные как модель и затем просто сделать их одиночным элементом с методом фабрики и частным конструктором.

С другой стороны, Вы могли думать об этом как о форме входа. В этом случае у Вас просто был бы класс Регистратора (также одиночный элемент), который читает/пишет базу данных непосредственно и вызывается вначале и конец каждого запроса.

1
ответ дан 14 December 2019 в 04:51
поделиться

В направляющих, если данные находятся в базе данных, это находится в модели. В этом случае модель можно назвать "Конфигурацией", но она все еще отображается на классе ActiveRecord в Вашей системе направляющих.

Если эти данные действительно статичны, Вам, возможно, не понадобится база данных вообще. Вы могли использовать (в качестве примера) переменную в своем контроллере приложения:

class ApplicationController < ActionController::Base
  helper :all 
  @data = "YOUR DATA HERE"   
end

Существует много подходов, которые могут использоваться для инстанцирования данных для использования в приложении направляющих.

1
ответ дан 14 December 2019 в 04:51
поделиться

Я не уверен, что понимаю, почему Вы говорите, что это не может вписаться в модель Rails.

Если это - просто сложная структура данных, просто сохраните набор кода Ruby в текстовом поле в базе данных :-)

Если, например, у Вас есть вложенный хеш комплекса, Вы хотите сохранить, присвоить следующее Вашему текстовому полю 'данных':

ComplexThing.data = complex_hash.inspect

Когда Вы хотите считать его назад, просто

complex_hash = eval ComplexThing.data

Позвольте мне указать на еще 2 вещи об этом решении:

  • Если Ваша структура данных не является стандартными классами Ruby, простое осматривают, может не сделать этого. Если Вы видите # <MyClass:0x4066e3c> где-нибудь, что-то не сериализируется правильно.
  • Это - наивная реализация. Можно хотеть проверить реальные решения для маршалинга, если Вы рискуете иметь unicode данные или если Вы действительно сохраняете много изготовленных на заказ классов.
0
ответ дан 14 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: