@rubyschool

Страница 489 из 921
Denis
20.12.2017
05:05:59
подскажите пожалуйста у меня ошибки идут в связи с active directory

class Rss < ActiveRecord::Base set_table_name "rss" def up create_table :system_settings do |t| t.string :title t.string :md5 t.text :description end end end

вот я по доке попытался название таблицы задефайнить

потому что без этого АД ищет таблицу resses

Google
Denis
20.12.2017
05:07:08
но сейчас он говорит что

/Users/lir/.rvm/gems/ruby-2.4.1@global/gems/activerecord-5.1.4/lib/active_record/dynamic_matchers.rb:22:in `method_missing': undefined method `set_table_name' for Rss (call 'Rss.connection' to establish a connection):Class (NoMethodError) Did you mean? quoted_table_name from rss.rb:23:in `<class:Rss>' from rss.rb:22:in `<main>'

Andrey
20.12.2017
05:08:11
ты опять миграцию пишешь

set_table_name "rss" def up create_table :system_settings do |t| t.string :title t.string :md5 t.text :description end end это все лишнее. Это миграция. она отдельно идет

миграцию ты не обязан делать через active_record. и если уж делаешь то обычно файл генерируют автоматически и дают название правильное для миграции типа /db/migrate/20171128164523_create_system_settings.rb class CreateSystemSettings < ActiveRecord::Migration def change create_table :system_settings do |t| t.string :title t.string :md5 t.text :description end end end

Ты получил undefined method `set_table_name' потому что https://apidock.com/rails/ActiveRecord/Base/set_table_name/class судя по всему метод устарел

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

Denis
20.12.2017
05:24:38
я просто разбираю разную документацию и разные штуки из них вытаскиваю. я увы совершенно не знаком с АД.

т.е переименуем таблицу

а что такое миграция? это манипуляция таблицами?

с датамаппером всегда было проще

но теперь он ругается на jsonи запускаться не желает

в инете полно таких ошибок но метода их решения собственно нету

Google
Denis
20.12.2017
05:29:11
ой блин запись в базу это какая-то карма для меня mysql2 не хотел работать

теперь и АД не хочет работать

ошибок нет но и записи нет

rss = Rss.new @RArray.each { |x| begin puts x["header"] rss.title = x["header"] rss.md5 = x["md5"] rss.description = x["description"] rss.save! rescue end }

но оно не пишет

Alabama
20.12.2017
05:36:08
чудес не бывает же. попробуй сразу Rss.create!

вообще, в рельсах исповедуется принцип convention over configuration, благодаря этому очень многое работает из коробки. Тебе бы потратить время и немного почитать про этот конвеншн, а то если настойчиво с ним бороться, то можно потерять много времени совершенно зря. Этой борьбой страдают люди, которые приходят из других языков и пытаются из рельсов яву или доту устроить=) в рельсах тоже все интуитивно и понятно работает, просто иногда немного по своему.

Vitaly
20.12.2017
05:46:17
Сколько будет стоить?
Точно не скажу. Наверное, клиенту приходит счет по пунктам - но вот не вижу где он в панели управления. Конфигурация пока минимальная: vCPUs: 1, Memory: 3.75 GB, SSD storage: 10 GB

Andrey
20.12.2017
05:49:43
чтобы сделать запись в базе код примерно такой должен быть Rss.create(title: "bla bla", md5: "bla bla", description: "blabla")

Vlad
20.12.2017
05:57:02
А ничего что он итерирует @RArray в котором содержится некий хэш, судя по обращению внутри блока. И при первой же итерации возникнет ошибка при обращении к несуществующему элементу. А потому что стоит begin/rescue код не выдает никаких ошибок)

Denis
20.12.2017
06:01:28
а вот смотрите

client = Mysql2::Client.new(:host => "localhost", :username => "root")

потом сделал

client.query("insert into lead_to_processes (case_number, style_of_case) VALUES (#{@case_number}, #{@style_of_case}")

а оно взяло и ничего не написало

почему так это карма?

Andrey
20.12.2017
06:03:51
Скорее всего инициализацию неверно сделал.

Vlad
20.12.2017
06:04:00
Потому что надо научиться дебажить и отлавливать ошибки)

Google
Vlad
20.12.2017
06:04:06
Тогда 90% вопросов отпадает

Denis
20.12.2017
06:04:09
инициализацию в смысле подключение?

Andrey
20.12.2017
06:04:10
Порт например точно не нужен?

Denis
20.12.2017
06:04:16
а как дебажить7

порт стандартный

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

и вот наверное если руби упирается всеми рогами в землю

Andrey
20.12.2017
06:06:51
ну библиотек миллионы, на всех языках. и у всех свои тараканы. ты подружился с конкретной библиотекой. Причем тут perl )) это не его заслуга ))

Denis
20.12.2017
06:06:53
ни тебе датамаппер работает ни АД ни mysql2

то наверное надо переписать на perl

перл вообще не причем

я могу скрипт скопировать на сервер, открыть его для вас

Denis
20.12.2017
06:09:00
может вы сможете его поправить?

Vlad
20.12.2017
06:09:01
Я не знаю, лучше ActiveRecord нет как по мне (ну еще rom-rb). Через адаптер писать чистый mysql в 21 веке, ну как по мне извращение, если этого не требует специфика проекта.

Andrey
20.12.2017
06:09:05
AR не работает потому что ты вообще левые команды набираешь. Просто вот от балды. Какую ты документацию читаешь я хз.

Denis
20.12.2017
06:09:08
а я научусь

Vlad
20.12.2017
06:09:15
Denis
20.12.2017
06:09:40
https://stackoverflow.com/questions/15902684/ruby-sql-insert-using-mysql2-gem

отсюда взял

Andrey
20.12.2017
06:10:04
там тоже пропущена

Google
Andrey
20.12.2017
06:10:14
она даже подсвечена там красным

Denis
20.12.2017
06:11:31
у меня ниче не подсвечено

какой редактор?

Andrey
20.12.2017
06:11:41
там и в ответах тожде самое пишут Is it possible that you are missing an end quote? <== notice the quote at the end.

Vlad
20.12.2017
06:12:10
Я просто не пойму что ты пытаешься сделать со скопированным кодом который вставляет в некую таблицу данные. Ты тоже такую таблицу создал для примера и теста?)

Denis
20.12.2017
06:13:55
странно а что там ответ на самом верху что-ли обычно там вопрос

самый нижний ответ где чувак говорит что ты типа кавычку забыл чувак

Влад ну а ты можешь мне показать как правильно? для mysql2?

Admin
ERROR: S client not available

Denis
20.12.2017
06:15:33
Я до этого просто mysql юзал

там работало

и датамаппер мой любимый но почему он теперь не работает я не знаю

Andrey
20.12.2017
06:16:06
чт значит не работает?

Denis
20.12.2017
06:16:09
вот докапался он до джейсона и все

Andrey
20.12.2017
06:16:12
ошибка какая?

Denis
20.12.2017
06:16:28
не работает - не записывает

ошибок нет

а датамаппер?

Google
Denis
20.12.2017
06:16:46
могу показать дай 3 минуты

Andrey
20.12.2017
06:16:57
ошибок нет потому что ты сделал rescue

я не умею в datamapper

Denis
20.12.2017
06:18:12
вот что ДМ говорит

/Users/lir/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/specification.rb:2290:in `raise_if_conflicts': Unable to activate dm-serializer-1.2.2, because json-2.1.0 conflicts with json (~> 1.6) (Gem::ConflictError)

ДМ класный он простой и класный

я его сто раз юзал

Andrey
20.12.2017
06:18:59
ну тут конфликт версий, что у тебя в гемфайле

Denis
20.12.2017
06:19:22
gem list | grep 'json' json (2.1.0, default: 2.0.2, 1.8.6) json_pure (1.8.6, 1.6.8) multi_json (1.12.2)

и вот вопрос ему что не хватает 1.6

Vlad
20.12.2017
06:19:44
И я не умею в datamapper, он вообще какой-то древний) ActiveRecord норм, Rom-RB норм)

Denis
20.12.2017
06:19:51
но поставить его большая проблема

Andrey
20.12.2017
06:20:04
gem list | grep 'json' json (2.1.0, default: 2.0.2, 1.8.6) json_pure (1.8.6, 1.6.8) multi_json (1.12.2)

это не гемфайл

Denis
20.12.2017
06:20:28
нет это я просто показал какие модули стоят

да давайте забудем про ДМ

Andrey
20.12.2017
06:20:48
так неважно что у тебя стоит

Denis
20.12.2017
06:20:49
давайте если не работает АД

Andrey
20.12.2017
06:20:59
тебе в каждом проекте нужны свои библиотеки

Denis
20.12.2017
06:21:05
то может вы поможете мне с mysql2? правильную строчку покажете?

Andrey
20.12.2017
06:21:08
поэтому поичтай про Gemfile

Denis
20.12.2017
06:21:12
а я запишу ее в золотой резерв

Andrey
20.12.2017
06:21:41
он в корень проекта кладется и туду пишутся все гемы которые в проекте используешь

Страница 489 из 921