1

これは私の開発環境では問題なく機能します(私はcssファイルを書き直しています):

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

しかし、本番環境(Dreamhost上)で実行しても何も起こりません-ファイルは変更されません-何もありません。

私ができる必要があるのは、既存のファイルを上書きすることです。これは、本番環境では理解できないようです。chmodを777に設定しても何も変更されませんでした。また、ログに何も表示されていないようです。

私はRoRの初心者です、助けてくれてありがとう。

4

2 に答える 2

3

で呼び出されたファイル\public\stylesheets\colors.cssに本当に書き込みたいときに、呼び出さcolors.cssれたファイルに書き込んでいます/public/stylesheets/

バックスラッシュ ,\は、POSIX ファイル システムでは有効なファイル名文字ですが、NTFS ではディレクトリ区切り文字です。バックスラッシュをスラッシュに変更します。

于 2010-08-21T21:45:52.733 に答える
-2

css ファイルのようなパブリック アセットであっても、プロダクション モードでの変更を確認するには、サーバーを再起動する必要があると確信しています。css の変更をデータベースに保存して動的にロードするか、environments/production.rb ファイルを変更して静的アセットをリロードする必要がありますが、明らかに非常に遅くなります。

于 2010-08-21T21:41:43.577 に答える