Как вставить изображение в SQLite с помощью Sequel и Sinatra?

Я пытаюсь вставить изображения в каждое из своих сообщений в блоге, используя SQLite с Sequel и Sinatra.

DB.create_table :posts do
primary_key :id
String :title
String :content
Datetime :created_at
Datetime :updated_at
foreign_key(:user_id, :users, :type=>String)
end

Какие изменения я должен внести в свою базу данных для этого и как вставить изображение из представления, а затем отобразить его?

Любая помощь или идея высоко ценятся.


person uklp    schedule 13.12.2013    source источник
comment
Итак, мне кажется, что вы новичок. Позвольте мне задать вам вопрос. Почему вы используете сиквел и синатру, когда есть рельсы, которые гораздо лучше подходят для новичков, потому что есть масса ресурсов и драгоценных камней, помогающих вам в этом. Для загрузки файлов есть стрекоза, скрепка и многое другое.   -  person phoet    schedule 13.12.2013
comment
Да, и мне посоветовали сначала начать с Синатры. Я довольно много сделал с ними сейчас, и я хочу не отставать, пока я закончу этот блог, чтобы впоследствии я мог переключиться на Rails. Есть ли шанс, что вы могли бы помочь мне с этим?   -  person uklp    schedule 13.12.2013
comment
Я бы начал с части загрузки следующим образом: 2686044/file-upload-with-sinatra, и если вы закончите эту часть, я бы посмотрел, как лучше хранить этот файл в базе данных (что не очень хорошо с точки зрения производительности)   -  person phoet    schedule 13.12.2013


Ответы (1)


Лично, если это для блога, то я бы загрузил файл куда-нибудь — будь то файлообменник (ваш дропбокс или что-то в этом роде), а затем написал на него img-ссылку в тексте статьи. Зачем все усложнять?

Редактировать: я не предлагаю встраивать HTML в ваш документ, но (например, в Markdown) индикатор, который затем обрабатывается в HTML позже, как и остальная часть документа.

Я бы также переименовал Post в Article, поскольку POST — это HTTP-глагол, используемый в Sinatra, иначе вы получите что-то вроде этого:

post "/post" do
  post = Post.new title: "First Post"
person iain    schedule 19.12.2013
comment
Ваша идея кажется разумной, я не проголосовал за нее и еще не пробовал, я застрял с некоторыми другими вещами, но я попробую. Но я все еще хочу найти более подходящее решение, возможно, связанное с моей ORM и БД. - person uklp; 25.12.2013
comment
@uklp, не волнуйся, я не говорил, что ты проголосовал за меня, но кто-то это сделал! Не беспокойтесь об ожидании, легко застрять на других вещах… c’est la vie :) - person iain; 25.12.2013