@rubyschool

Страница 57 из 921
johnny
09.02.2017
08:28:22
У рубимайна есть как плюсы, так и минусы.
у всего что угодно есть как плюсы, так и минусы :)

Vladimir
09.02.2017
08:28:57
Early access вроде бесплатно https://confluence.jetbrains.com/display/RUBYDEV/Early+Access+Program

Natalia
09.02.2017
08:30:27
у всего что угодно есть как плюсы, так и минусы :)
Ну я вот сейчас бесплатно на нем сижу и сильно не уверена, что захочу его покупать за свои деньги.

Max
09.02.2017
09:27:46
можно вопрос по синатре, ребят?

Google
Natalia
09.02.2017
09:28:03
Нет

Max
09.02.2017
09:28:08
ну вот

Nikolai
09.02.2017
09:28:36
Да разрешите ему

Ну позязя

Natalia
09.02.2017
09:28:57
Ну ладно, так уж и быть. Соблаговоляем.

Eugene
09.02.2017
09:36:43
RubyMine хорош, но моя преподавательская лицензия истекла в октябре((

Max
09.02.2017
09:38:34
кто-нибудь помнит мб, в конце 20 занятия было дз: вывести на экран содержание текстового файлика (который формировался из формы) на страничке /admin. файлик я вывел, но есть одна штуковина, в которую я въехать не могу никак.

http://paste2.org/ZEPjkJZw

вот программка

а это - admin.erb

http://paste2.org/xVdV4N3X

Henry
09.02.2017
09:39:45
после того как рубимайн у меня съел 1,5гб оперативки я его удалил

Max
09.02.2017
09:40:25
в общем в таком виде работает. однако, если в программе закрыть файлик logfile.close, то при переходе на localhost/admin вообще ничего не выводится. даже приветствие

Google
Max
09.02.2017
09:40:26
почему?

Nikolai
09.02.2017
09:41:30
А ты его в админе закрываешь?

Max
09.02.2017
09:41:41
нет. в основной программе

Nikolai
09.02.2017
09:42:02
В разделе get /admin do?

Max
09.02.2017
09:42:15
get '/admin' do @logfile = File.open 'users.txt', 'r' erb :admin @logfile.close end

вот так я его хотел закрывать

я как бы подозреваю, что после того как руби прочитал, что файлик закрыть нужно, не получается вывести что-то. но почем заголовки не выводятся-то?? обычный текст (не из файла, а который в самом admin.erb написан)





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

Nikolai
09.02.2017
09:54:19
Могу предложить абсолютно идиотское решение на шару

Попробуй закрыть файл в представлении

admin.html.erb

Max
09.02.2017
09:55:40
<h1> Hello, admin </h1> <h2> Users we have: </h2> <% @logfile.each_line do |line| %> <%= line %> <br /> <% end %> <% @logfile.close %>

так?

Nikolai
09.02.2017
09:56:15
Ну типа

Max
09.02.2017
10:01:57
работает. но я не знаю как проверить закрыт файл или нет )

Nikolai
09.02.2017
10:02:49
А теперь пусть остальные прокомментируют, насколько моё решение корректно

А то оно выглядит как индусский стиль кодинга

Max
09.02.2017
10:03:58
палочкой подперли)

Google
skynet
09.02.2017
10:05:21
logger.close

Max
09.02.2017
10:06:32
хм... вот оно что...

logger.close
все равно не понятно ни хрена)

skynet
09.02.2017
10:06:53
https://ruby-doc.org/stdlib-2.2.3/libdoc/logger/rdoc/Logger.html

file = File.open('foo.log', File::WRONLY | File::APPEND) # To create new (and to remove old) logfile, add File::CREAT like: # file = File.open('foo.log', File::WRONLY | File::APPEND | File::CREAT) logger = Logger.new(file)

только чтот мне кажется там словечка CREAT возможно с ошибкой)

Max
09.02.2017
10:10:05
чисто формально я дз сделал. все что требовалось вывести, выводится. только вопрос остался, а я боюсь в следущем занятии это не всплывет и так и останется непонятым (я этого не забуду и не смогу спать по ночам)

skynet
09.02.2017
10:11:53
а перед следующим уроком поэксперементируй )) я обычно так пытаюсь разбираться только...

и объяснять вменяемо и нормально кстати не умею(

Max
09.02.2017
10:13:21
ну я вот так же делаю. пока все не сделаю и не разберусь полностью с задачей, к следующей не приступаю. беситься начинаю

обычно задачки оч простые. но есть нюансы

skynet
09.02.2017
10:22:33
обычно задачки оч простые. но есть нюансы
тяжело в учении, зато потом будешь реально крутым разрабом)

Max
09.02.2017
10:30:17
скажите, код руби, который в представлении обрабатывается дополняет код самой программы? или он как бы вспомогательный (блин не знаю как сформулировать точно) ? в общем если я юзаю file.close в admin.erb через <% %>, то он срабатывает или нет?

skynet
09.02.2017
10:30:47
срабатывает

Max
09.02.2017
10:31:07
никакой разницы нет, что я закрываю файл (в представлении), что вообще забиваю на это (хз как проверить сее)

skynet
09.02.2017
10:32:20
можешь в представлении либо в контроллере)

если (не морожу фигню) то и в модели что то типо after_action

Max
09.02.2017
10:33:39
модель - это основная программа?

я так понимаю, когда записываем в файл из основной программы, там можно закрывать файлик после записи. а вот если читаем, то закрывать его нужно уже в том месте, куда выводится прочитанное. правильно понимаю?

Google
skynet
09.02.2017
10:36:43
модель, нууууу очень грубо говоря да) модель - код который взаимодействует с базой данных, в ней можно определить параметры которые будут сохранены в базу, контроллер отвечает за представление, по сути ты можешь писать чистый руби во вьюхе

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

Max
09.02.2017
10:38:07
ну я только вот начал синатру. параллельно читаю статьи в свободное время. я еще не понимаю точно, что ты говоришь, но кажется что представляю примерно)

еще не разобрался до конца как работает MVC. да и баз еще не было

Admin
ERROR: S client not available

skynet
09.02.2017
10:38:57
между баззой данных и страницей html есть посредники, со стороны базы это модель, со стороны вьюхи - контроллер

например код в контроллере: def index @projects = Project.all.order(created_at: :desc) end а во вьюхе: <% @projects.each do |project| %> <%= link_to project, class: 'list-group-item line' do %> <h3><%= project.title.upcase %></h3> <% end %> <% end %> выведет каждый проэкт в индексной странице с ссылкой на этот проэкт в шоу странице

ссори за код такой с бутстрапом, скопировал у себя

ну и модель с контроллером соответственно очень тесно связана (параметры для контроллера можно определять в модели)

пример кода в модели с afterом: class User < ApplicationRecord after_initialize do |user| puts "You have initialized an object!" end after_find do |user| puts "You have found an object!" end end » User.new You have initialized an object! => #<User id: nil> » User.first You have found an object! You have initialized an object! => #<User id: 1>

Max
09.02.2017
10:52:57
https://wiki.warthunder.ru/images/5/5b/%D0%AF%D0%9D%D0%9D%D0%9F.jpg

Alex
09.02.2017
12:07:06
Я бы сначала прочитал файл куда-то, например в массив строк или объектов, потом закрыть файл, потом уже открывать страницу и показывать там полученные данные. Во-первых сразу всё понятно с закрытием файла. Во-вторых это гибче - если у тебя вместо файла появится база, ты будешь менять только код получения данных, а страница останется прежней. В-третьих часто рисование страниц отдают отдельному человеку (или нескольким), который может хорошо знать хтмл и иметь чуйство прекрасного, но глубокого знания руби у него может и не быть, зачем его ещё и файлами перегружать :)

Max
09.02.2017
12:09:32
а я вот именно так и сделал ) ночью столкнулся с этой проблемой, которую описал. а потом подумал, да нах все эти заморочки. заверну все в массив и выведу потом из него

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

сие у меня не вышло. вернее вышло, но я не знаю закрыт он теперь или нет

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

Al`mir
09.02.2017
14:20:58
Cпасибо

Включая

Как искать в содержимом текущей страницы что-либо по буквам?

Max
09.02.2017
14:44:41
на каком занятии, Альмир?

Google
Al`mir
09.02.2017
14:47:19
29

Это не относится к занятиям

Просто Роман на сайте бутстрапа какой-то комбинацией клавиш либо чем-то другим пользуется, тем самым моментально ищет то, что ему надо, к примеру вводит form, и у него прокручивает страницу в нужное место

Надеюсь, понятно объяснил

Oleg
09.02.2017
14:50:17
win+F

Al`mir
09.02.2017
14:50:30
Спасибо, сейчас попробую

Adel
09.02.2017
14:50:31
Ctrl+f

Oleg
09.02.2017
14:50:33
точн

Yury
09.02.2017
14:51:31
маковод? :)

Al`mir
09.02.2017
14:51:39
win + F не работает) А ctrl + F работает, спасибо

Oleg
09.02.2017
14:51:55
маковод )

Max
09.02.2017
14:51:55
ну это поиск

Yury
09.02.2017
14:51:56
win + F не работает) А ctrl + F работает, спасибо
cmd +F работает на маке потому что

Гуррагча
10.02.2017
06:28:30
Скажите, а это нормально что я стал плохо спать и постоянно думаю как что-то написать? Это пройдёт?

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