Hey,
I was actually just playing with this yesterday. I was able to get it
to work, by patching lib/mephisto/theme_root so that it puts themes
in /tmp like this:
THEME_ROOT = Pathname.new(RAILS_ROOT) + "tmp/" +
(Rails.env.production? ? "themes" : "themes/#{Rails.env}")
It worked, but it's clearly not a sustainable solution since themes
shouldn't really go in /tmp. How to do it right seems like a slightly
tricky question to me, actually, since you both have themes that are
copied and runtime-generated.
If you're interested in fooling around with it, I'd be happy to share
my tweaked version with you. It also includes the right .gems file to
get mephisto's (many) dependencies installed on Heroku.
Best,
Morten
On May 10, 2009, at 3:41 AM, giorgio wrote:
>
> Hi,
>
> I read Adam's entry that he had got Mephisto running on heroku...
>
> However I get read only file system errors.
>
> Is there any work around?
>
> Here's the stack trace:
>
> Processing MephistoController#dispatch (for 203.97.nnn.nnn at
> 2009-05-10 03:35:29) [GET]
> Parameters: {"action"=>"dispatch", "controller"=>"mephisto", "path"=>
> []}
>
>
> Errno::EROFS (Read-only file system - /disk1/home/slugs/
> 14579_c8bad6a_f265/mnt/themes/site-1 - Heroku has a read-only
> filesystem. See http://heroku.com/docs#toc59):
> /usr/local/lib/ruby/1.8/fileutils.rb:243:in `mkdir'
> /usr/local/lib/ruby/1.8/fileutils.rb:243:in `fu_mkdir'
> /usr/local/lib/ruby/1.8/fileutils.rb:217:in `mkdir_p'
> /usr/local/lib/ruby/1.8/fileutils.rb:215:in `reverse_each'
> /usr/local/lib/ruby/1.8/fileutils.rb:215:in `mkdir_p'
> /usr/local/lib/ruby/1.8/fileutils.rb:201:in `each'
> /usr/local/lib/ruby/1.8/fileutils.rb:201:in `mkdir_p'
> /app/models/site.rb:147:in `themes'
> /app/models/site.rb:159:in `theme'
> (__DELEGATION__):2:in `templates'
> /app/models/site.rb:244:in `find_preferred_template'
> /app/models/site.rb:304:in `set_content_template'
> /app/models/site.rb:201:in `call_render'
> /app/controllers/application.rb:87:in `render_liquid_template_for'
> /app/controllers/mephisto_controller.rb:29:in `dispatch_list'
> /app/controllers/mephisto_controller.rb:11:in `send'
> /app/controllers/mephisto_controller.rb:11:in `dispatch'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/base.rb:1253:in `send'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/base.rb:1253:in `perform_action_without_filters'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:617:in `call_filters'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:638:in `run_before_filters'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:206:in `call'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:206:in `around_proc'
> /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/
> active_support/callbacks.rb:182:in `call'
> /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/
> active_support/callbacks.rb:182:in `evaluate_method'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:184:in `call'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:635:in `run_before_filters'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:615:in `call_filters'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:638:in `run_before_filters'
> /app/controllers/application.rb:108:in `get_requests_are_readonly'
> /config/initializers/readonly_records.rb:18:in
> `with_readonly_records'
> /app/controllers/application.rb:107:in `get_requests_are_readonly'
> /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/
> active_support/callbacks.rb:178:in `send'
> /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/
> active_support/callbacks.rb:178:in `evaluate_method'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:186:in `call'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:635:in `run_before_filters'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:615:in `call_filters'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:610:in `perform_action_without_benchmark'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/benchmarking.rb:68:in
> `perform_action_without_rescue'
> /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/benchmarking.rb:68:in
> `perform_action_without_rescue'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/rescue.rb:136:in `perform_action_without_caching'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/caching/sql_cache.rb:13:in `perform_action'
> /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/
> active_record/connection_adapters/abstract/query_cache.rb:34:in
> `cache'
> /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/
> active_record/query_cache.rb:8:in `cache'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/caching/sql_cache.rb:12:in `perform_action'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/base.rb:524:in `send'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/base.rb:524:in `process_without_filters'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/filters.rb:606:in
> `process_without_session_management_support'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/session_management.rb:134:in `process'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/base.rb:392:in `process'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/dispatcher.rb:183:in `handle_request'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/dispatcher.rb:110:in `dispatch_unlocked'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/dispatcher.rb:123:in `dispatch'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/dispatcher.rb:122:in `synchronize'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/dispatcher.rb:122:in `dispatch'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/dispatcher.rb:132:in `dispatch_cgi'
> /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
> action_controller/dispatcher.rb:39:in `dispatch'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/rack/adapter/
> rails.rb:60:in `serve_rails'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/rack/adapter/
> rails.rb:80:in `call'
> /home/heroku_rack/lib/static_assets.rb:9:in `call'
> /home/heroku_rack/lib/last_access.rb:15:in `call'
> /usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/lib/rack/urlmap.rb:
> 42:in `call'
> /usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/lib/rack/urlmap.rb:
> 35:in `each'
> /usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/lib/rack/urlmap.rb:
> 35:in `call'
> /usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/lib/rack/builder.rb:
> 64:in `call'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/
> connection.rb:80:in `pre_process'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/
> connection.rb:78:in `catch'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/
> connection.rb:78:in `pre_process'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/
> connection.rb:57:in `process'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/
> connection.rb:42:in `receive_data'
> /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.6/lib/
> eventmachine.rb:240:in `run_machine'
> /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.6/lib/
> eventmachine.rb:240:in `run'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/backends/
> base.rb:57:in `start'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/server.rb:
> 150:in `start'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/controllers/
> controller.rb:80:in `start'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/runner.rb:
> 173:in `send'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/runner.rb:
> 173:in `run_command'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/runner.rb:
> 139:in `run!'
> /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/bin/thin:6
> /usr/local/bin/thin:19:in `load'
> /usr/local/bin/thin:19
>
> Rendering /disk1/home/slugs/14579_c8bad6a_f265/mnt/public/500.html
> (internal_server_error)
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Heroku" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en
-~----------~----~----~----~------~----~------~--~---