Size: a a a

Ruby, Rails, Hanami | dry-rb

2020 November 03

KP

Kiryl Pl. in Ruby, Rails, Hanami | dry-rb
Николай Пронин
Всем привет! Ребят, я только учусь, помогите пожалуйста разобраться с гемом paperclip, что я не так делаю: ночью решил поучиться работать с графическими файлами. Установил paperclip, прописал команду rails g paperclip badge avatar, но выдает ошибку: PG::NotNullViolation: ERROR: null value in column "avatar" violates not-null constraint DETAIL. Скриншоты прилагаю. Если я правильно научился смотреть в логи, то при сохранении объекта в атрибут avatar и правда ничего не идет, но я не понимаю почему...
Модель:
class Badge < ApplicationRecord

 has_many :user_badges, dependent: :destroy
 has_many :users, through: :user_badges

 has_attached_file :avatar, styles: { medium: "300x300>", thumb: "100x100>" }, default_url: "/images/:style/missing.png"
 validates :avatar, attachment_presence: true
 validates :title, :rule, presence: true
 validates_attachment_content_type :avatar, content_type: /\Aimage\/.*\z/
 BADGE_RULES = %w[finish_all_tests first_try finish_all_tests_by_level].freeze
end

Контроллер:
 def create
   @badge = Badge.new(badge_params)

   if @badge.save
     redirect_to admin_badge_path, notice: t('.success')
   else
     render :new, alert: t('.failure')
   end
 end
 private

 def set_badge
   @badge = Badge.find(params[:id])
 end

 def badge_params
   params.require(:badge).permit(:avatar, :title, :rule)
 end

Форма:
<%= form_with model: [:admin, @badge], local: true do |form| %>
 <%= render 'shared/errors', resource: @badge %>
 <div class="form-group">

    <p>
     <%= form.label :title %>
     <%= form.text_field :title, class: 'form-control' %>
   </p>

    <p>
     <%= form.label :avatar %>
     <%= form.file_field :avatar, as: :file %>
   </p>

    <p>
     <%= form.label :rule %>
     <%= form.select :rule, Badge::BADGE_RULES, class: 'from-control' %>
   </p>

    <p>
     <%= form.submit class: 'btn btn-primary'%>
   </p>
 </div>
<% end %>
Миграция, созданная после команды rails g paperclip badge avatar:
class AddAttachmentAvatarToBadges < ActiveRecord::Migration[5.2]
 def self.up
   change_table :badges do |t|
     t.attachment :avatar
   end
 end

 def self.down
   remove_attachment :badges, :avatar
 end
end
Заранее спасибо
Все уже на ActiveStorage перешли
источник

SS

Sergii Serogin in Ruby, Rails, Hanami | dry-rb
ну у тебя там валидатор на колонку аватар, твой тест в нее ничего не пишет, валидатор протів
источник

Т

Темный in Ruby, Rails, Hanami | dry-rb
балдеж скрин
источник

НП

Николай Пронин... in Ruby, Rails, Hanami | dry-rb
Темный
балдеж скрин
Не знаю почему такое качество...😕  Видимо телеграм искажает, в слаке качество шикарное
источник

DP

D. P. in Ruby, Rails, Hanami | dry-rb
источник

IS

Igor Shum in Ruby, Rails, Hanami | dry-rb
Степень сжатия 6 ебучих шакалов
источник

Т

Тенпеннай in Ruby, Rails, Hanami | dry-rb
Николай Пронин
Всем привет! Ребят, я только учусь, помогите пожалуйста разобраться с гемом paperclip, что я не так делаю: ночью решил поучиться работать с графическими файлами. Установил paperclip, прописал команду rails g paperclip badge avatar, но выдает ошибку: PG::NotNullViolation: ERROR: null value in column "avatar" violates not-null constraint DETAIL. Скриншоты прилагаю. Если я правильно научился смотреть в логи, то при сохранении объекта в атрибут avatar и правда ничего не идет, но я не понимаю почему...
Модель:
class Badge < ApplicationRecord

 has_many :user_badges, dependent: :destroy
 has_many :users, through: :user_badges

 has_attached_file :avatar, styles: { medium: "300x300>", thumb: "100x100>" }, default_url: "/images/:style/missing.png"
 validates :avatar, attachment_presence: true
 validates :title, :rule, presence: true
 validates_attachment_content_type :avatar, content_type: /\Aimage\/.*\z/
 BADGE_RULES = %w[finish_all_tests first_try finish_all_tests_by_level].freeze
end

Контроллер:
 def create
   @badge = Badge.new(badge_params)

   if @badge.save
     redirect_to admin_badge_path, notice: t('.success')
   else
     render :new, alert: t('.failure')
   end
 end
 private

 def set_badge
   @badge = Badge.find(params[:id])
 end

 def badge_params
   params.require(:badge).permit(:avatar, :title, :rule)
 end

Форма:
<%= form_with model: [:admin, @badge], local: true do |form| %>
 <%= render 'shared/errors', resource: @badge %>
 <div class="form-group">

    <p>
     <%= form.label :title %>
     <%= form.text_field :title, class: 'form-control' %>
   </p>

    <p>
     <%= form.label :avatar %>
     <%= form.file_field :avatar, as: :file %>
   </p>

    <p>
     <%= form.label :rule %>
     <%= form.select :rule, Badge::BADGE_RULES, class: 'from-control' %>
   </p>

    <p>
     <%= form.submit class: 'btn btn-primary'%>
   </p>
 </div>
<% end %>
Миграция, созданная после команды rails g paperclip badge avatar:
class AddAttachmentAvatarToBadges < ActiveRecord::Migration[5.2]
 def self.up
   change_table :badges do |t|
     t.attachment :avatar
   end
 end

 def self.down
   remove_attachment :badges, :avatar
 end
end
Заранее спасибо
откажись от пэйперклипа. Его разработчики именно так и сделали
источник

Т

Тенпеннай in Ruby, Rails, Hanami | dry-rb
Николай Пронин
Не знаю почему такое качество...😕  Видимо телеграм искажает, в слаке качество шикарное
не надо ашипки скриншотами кидать. Копируй текст, делай из него gist или используй сервисы типа pastebin/pastie и кидай в чят ссылку
источник

A

Alexander in Ruby, Rails, Hanami | dry-rb
Тенпеннай
откажись от пэйперклипа. Его разработчики именно так и сделали
скрепка ж ваще заброшена с тех пор, как появился active storage прастихоспаде
источник

DG

Dmitry Gorodenkov in Ruby, Rails, Hanami | dry-rb
привет)..  проблема с dry-system.
делаю вроде все как в доках - подсовываю свой прок, но он почему-то игнорируется((.. хотя #exclude работает отлично(

даже puts 123213 пробовал - не отрабатывает почему-то...

в чем может быть дело?(
источник

AD

Anton Davydov in Ruby, Rails, Hanami | dry-rb
а что в контейнере?
источник

DG

Dmitry Gorodenkov in Ruby, Rails, Hanami | dry-rb
в вальюобжекте - тупо #constant внутри #call
Да я уже как только не пробовал.. и без явного лоадера..  и по разному тащил(..

у меня как-то 1 раз получилось что оно работало как надо и повторить никак(.. и то уже кажется что мне кажется))
0.18.1 у меня

или App.config нужны?

короче инфа 100% - в exclude Proc оно заходит и выполняет, а instance Proc - шиш(

попробовал версии 14, 15, 17 - таже борода
источник

ES

Eugene Shved in Ruby, Rails, Hanami | dry-rb
Сделано.
источник

A

Alexander in Ruby, Rails, Hanami | dry-rb
спс, альфа совсем уже борзеет :)
источник

ES

Eugene Shved in Ruby, Rails, Hanami | dry-rb
Забанена на 3 месяца.
источник
2020 November 04

ИК

Илья Клапаток... in Ruby, Rails, Hanami | dry-rb
Всем привет, подскажите пж best practice для системы голосования. Должна быть модель poll(с вопросом, картинкой и тд) и также кастомные варианты ответов. Голосовать могут не только авторизованные пользователи, но также и гости, надо как-то отслеживать ip на uniqueness
источник

АД

Антон Дьячук... in Ruby, Rails, Hanami | dry-rb
Илья Клапаток
Всем привет, подскажите пж best practice для системы голосования. Должна быть модель poll(с вопросом, картинкой и тд) и также кастомные варианты ответов. Голосовать могут не только авторизованные пользователи, но также и гости, надо как-то отслеживать ip на uniqueness
Что не получается?
источник

АД

Антон Дьячук... in Ruby, Rails, Hanami | dry-rb
Илья Клапаток
Всем привет, подскажите пж best practice для системы голосования. Должна быть модель poll(с вопросом, картинкой и тд) и также кастомные варианты ответов. Голосовать могут не только авторизованные пользователи, но также и гости, надо как-то отслеживать ip на uniqueness
Что делать с подсетями моб операторов?
источник

АД

Антон Дьячук... in Ruby, Rails, Hanami | dry-rb
Илья Клапаток
Всем привет, подскажите пж best practice для системы голосования. Должна быть модель poll(с вопросом, картинкой и тд) и также кастомные варианты ответов. Голосовать могут не только авторизованные пользователи, но также и гости, надо как-то отслеживать ip на uniqueness
Вам точно-точно нужно отслеживать ip на уникальность?
источник

АД

Антон Дьячук... in Ruby, Rails, Hanami | dry-rb
Много ли статических айпи у пользователей?
источник