Ruby on Rails - не могу понять, как писать / изменять файлы на реальном сайте - PullRequest
1 голос
/ 22 августа 2010

Это прекрасно работает в моей среде разработки (я переписываю файл css):

File.open(RAILS_ROOT + '\public\stylesheets\colors.css', 'w') do |w|  
    w.puts 'some_text'
end

Но когда я запускаю его в моей среде prod (на Dreamhost), ничего не происходит - файл не изменяется - ничего.

Что мне нужно сделать, это перезаписать существующий файл, который я не могу понять в процессе работы. Я даже установил chmod на 777, и это ничего не изменило, также не похоже, что что-то появляется в журналах?

Я новичок в RoR, я ценю помощь.

Ответы [ 2 ]

3 голосов
/ 22 августа 2010

Вы пишете в файл с именем \public\stylesheets\colors.css, когда вы действительно хотите записать в файл с именем colors.css в /public/stylesheets/

Обратная косая черта, \, является допустимым символом имени файла в POSIXфайловые системы, но является разделителем каталогов в NTFS.Измените обратную косую черту на прямую.

0 голосов
/ 22 августа 2010

Я почти уверен, что вам нужно перезапустить сервер, чтобы увидеть изменения в рабочем режиме, даже для общедоступных ресурсов, таких как CSS-файлы.Вам нужно либо сохранить изменения css в базе данных и загрузить их динамически, либо изменить свой файл environment / production.rb для перезагрузки статических ресурсов, но это будет очень медленно, очевидно.

...