Rails js.erb-Datei kann Methode "render" nicht finden
Habe ich den folgenden code in eine Javascript-ERB-Datei:
$(document).ready(function() {
$("#workout-week").append(
<%= escape_javascript(render :partial => "show_training_period", :locals => { :period => @period }) %>
);
});
Als ich zu der Ansicht, bekomme ich die folgende Fehlermeldung:
undefined method `render' for #<#<Class:0x00000004e21158>:0x00000005dbfe98>
Die teilweise vorhanden ist, und die lokale variable ist nicht null. Eine Idee warum das passieren könnte?
Stack trace:
app/assets/javascripts/slider.js.erb:2:in `evaluate_source'
tilt (1.3.3) lib/tilt/template.rb:209:in `instance_eval'
tilt (1.3.3) lib/tilt/template.rb:209:in `evaluate_source'
tilt (1.3.3) lib/tilt/template.rb:144:in `cached_evaluate'
tilt (1.3.3) lib/tilt/template.rb:127:in `evaluate'
tilt (1.3.3) lib/tilt/template.rb:76:in `render'
sprockets (2.0.3) lib/sprockets/context.rb:175:in `block in evaluate'
sprockets (2.0.3) lib/sprockets/context.rb:172:in `each'
sprockets (2.0.3) lib/sprockets/context.rb:172:in `evaluate'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:171:in `build_dependency_context_and_body'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:135:in `dependency_context'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:194:in `build_dependencies_paths_and_assets'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:141:in `dependency_paths'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:61:in `mtime'
sprockets (2.0.3) lib/sprockets/asset.rb:58:in `block in encode_with'
sprockets (2.0.3) lib/sprockets/asset.rb:57:in `each'
sprockets (2.0.3) lib/sprockets/asset.rb:57:in `encode_with'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:43:in `encode_with'
sprockets (2.0.3) lib/sprockets/caching.rb:52:in `cache_asset'
sprockets (2.0.3) lib/sprockets/environment.rb:82:in `build_asset'
sprockets (2.0.3) lib/sprockets/base.rb:99:in `find_asset'
sprockets (2.0.3) lib/sprockets/environment.rb:72:in `find_asset'
sprockets (2.0.3) lib/sprockets/base.rb:110:in `[]'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:200:in `block in build_dependencies_paths_and_assets'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:194:in `each'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:194:in `build_dependencies_paths_and_assets'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:141:in `dependency_paths'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:61:in `mtime'
sprockets (2.0.3) lib/sprockets/asset.rb:58:in `block in encode_with'
sprockets (2.0.3) lib/sprockets/asset.rb:57:in `each'
sprockets (2.0.3) lib/sprockets/asset.rb:57:in `encode_with'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:43:in `encode_with'
sprockets (2.0.3) lib/sprockets/caching.rb:52:in `cache_asset'
sprockets (2.0.3) lib/sprockets/environment.rb:82:in `build_asset'
sprockets (2.0.3) lib/sprockets/trail.rb:102:in `find_asset_in_path'
sprockets (2.0.3) lib/sprockets/base.rb:101:in `find_asset'
sprockets (2.0.3) lib/sprockets/environment.rb:72:in `find_asset'
sprockets (2.0.3) lib/sprockets/base.rb:110:in `[]'
actionpack (3.1.0) lib/sprockets/helpers/rails_helper.rb:124:in `asset_for'
actionpack (3.1.0) lib/sprockets/helpers/rails_helper.rb:28:in `block in javascript_include_tag'
actionpack (3.1.0) lib/sprockets/helpers/rails_helper.rb:27:in `collect'
actionpack (3.1.0) lib/sprockets/helpers/rails_helper.rb:27:in `javascript_include_tag'
app/views/layouts/application.html.haml:7:in `_app_views_layouts_application_html_haml__2778507683501201875_51020080'
actionpack (3.1.0) lib/action_view/template.rb:144:in `block in render'
activesupport (3.1.0) lib/active_support/notifications.rb:55:in `instrument'
actionpack (3.1.0) lib/action_view/template.rb:142:in `render'
actionpack (3.1.0) lib/action_view/renderer/template_renderer.rb:52:in `render_with_layout'
actionpack (3.1.0) lib/action_view/renderer/template_renderer.rb:38:in `render_template'
actionpack (3.1.0) lib/action_view/renderer/template_renderer.rb:12:in `block in render'
actionpack (3.1.0) lib/action_view/renderer/abstract_renderer.rb:22:in `wrap_formats'
actionpack (3.1.0) lib/action_view/renderer/template_renderer.rb:9:in `render'
actionpack (3.1.0) lib/action_view/renderer/renderer.rb:36:in `render_template'
actionpack (3.1.0) lib/action_view/renderer/renderer.rb:17:in `render'
actionpack (3.1.0) lib/abstract_controller/rendering.rb:120:in `_render_template'
actionpack (3.1.0) lib/action_controller/metal/streaming.rb:250:in `_render_template'
actionpack (3.1.0) lib/abstract_controller/rendering.rb:114:in `render_to_body'
actionpack (3.1.0) lib/action_controller/metal/renderers.rb:30:in `render_to_body'
actionpack (3.1.0) lib/action_controller/metal/compatibility.rb:43:in `render_to_body'
actionpack (3.1.0) lib/abstract_controller/rendering.rb:99:in `render'
actionpack (3.1.0) lib/action_controller/metal/rendering.rb:16:in `render'
actionpack (3.1.0) lib/action_controller/metal/instrumentation.rb:40:in `block (2 levels) in render'
activesupport (3.1.0) lib/active_support/core_ext/benchmark.rb:5:in `block in ms'
/home/mike/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/benchmark.rb:310:in `realtime'
activesupport (3.1.0) lib/active_support/core_ext/benchmark.rb:5:in `ms'
actionpack (3.1.0) lib/action_controller/metal/instrumentation.rb:40:in `block in render'
actionpack (3.1.0) lib/action_controller/metal/instrumentation.rb:78:in `cleanup_view_runtime'
activerecord (3.1.0) lib/active_record/railties/controller_runtime.rb:24:in `cleanup_view_runtime'
actionpack (3.1.0) lib/action_controller/metal/instrumentation.rb:39:in `render'
actionpack (3.1.0) lib/action_controller/metal/implicit_render.rb:10:in `default_render'
actionpack (3.1.0) lib/action_controller/metal/implicit_render.rb:5:in `send_action'
actionpack (3.1.0) lib/abstract_controller/base.rb:167:in `process_action'
actionpack (3.1.0) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (3.1.0) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
activesupport (3.1.0) lib/active_support/callbacks.rb:425:in `_run__4540075312289376507__process_action__207230359584297735__callbacks'
activesupport (3.1.0) lib/active_support/callbacks.rb:386:in `_run_process_action_callbacks'
activesupport (3.1.0) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.1.0) lib/abstract_controller/callbacks.rb:17:in `process_action'
actionpack (3.1.0) lib/action_controller/metal/rescue.rb:17:in `process_action'
actionpack (3.1.0) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
activesupport (3.1.0) lib/active_support/notifications.rb:53:in `block in instrument'
activesupport (3.1.0) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
activesupport (3.1.0) lib/active_support/notifications.rb:53:in `instrument'
actionpack (3.1.0) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
actionpack (3.1.0) lib/action_controller/metal/params_wrapper.rb:201:in `process_action'
activerecord (3.1.0) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (3.1.0) lib/abstract_controller/base.rb:121:in `process'
actionpack (3.1.0) lib/abstract_controller/rendering.rb:45:in `process'
actionpack (3.1.0) lib/action_controller/metal.rb:193:in `dispatch'
actionpack (3.1.0) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
actionpack (3.1.0) lib/action_controller/metal.rb:236:in `block in action'
actionpack (3.1.0) lib/action_dispatch/routing/route_set.rb:65:in `call'
actionpack (3.1.0) lib/action_dispatch/routing/route_set.rb:65:in `dispatch'
actionpack (3.1.0) lib/action_dispatch/routing/route_set.rb:29:in `call'
rack-mount (0.8.3) lib/rack/mount/route_set.rb:152:in `block in call'
rack-mount (0.8.3) lib/rack/mount/code_generation.rb:96:in `block in recognize'
rack-mount (0.8.3) lib/rack/mount/code_generation.rb:75:in `optimized_each'
rack-mount (0.8.3) lib/rack/mount/code_generation.rb:95:in `recognize'
rack-mount (0.8.3) lib/rack/mount/route_set.rb:141:in `call'
actionpack (3.1.0) lib/action_dispatch/routing/route_set.rb:531:in `call'
warden (1.1.0) lib/warden/manager.rb:35:in `block in call'
warden (1.1.0) lib/warden/manager.rb:34:in `catch'
warden (1.1.0) lib/warden/manager.rb:34:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
rack (1.3.5) lib/rack/etag.rb:23:in `call'
rack (1.3.5) lib/rack/conditionalget.rb:25:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/head.rb:14:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/flash.rb:243:in `call'
rack (1.3.5) lib/rack/session/abstract/id.rb:195:in `context'
rack (1.3.5) lib/rack/session/abstract/id.rb:190:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/cookies.rb:326:in `call'
activerecord (3.1.0) lib/active_record/query_cache.rb:62:in `call'
activerecord (3.1.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:477:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (3.1.0) lib/active_support/callbacks.rb:392:in `_run_call_callbacks'
activesupport (3.1.0) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.1.0) lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/reloader.rb:68:in `call'
rack (1.3.5) lib/rack/sendfile.rb:101:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/remote_ip.rb:48:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/show_exceptions.rb:47:in `call'
railties (3.1.0) lib/rails/rack/logger.rb:13:in `call'
rack (1.3.5) lib/rack/methodoverride.rb:24:in `call'
rack (1.3.5) lib/rack/runtime.rb:17:in `call'
activesupport (3.1.0) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
rack (1.3.5) lib/rack/lock.rb:15:in `call'
actionpack (3.1.0) lib/action_dispatch/middleware/static.rb:53:in `call'
railties (3.1.0) lib/rails/engine.rb:455:in `call'
railties (3.1.0) lib/rails/rack/content_length.rb:16:in `call'
railties (3.1.0) lib/rails/rack/log_tailer.rb:14:in `call'
rack (1.3.5) lib/rack/handler/webrick.rb:59:in `service'
/home/mike/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
/home/mike/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
/home/mike/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
InformationsquelleAutor der Frage Mike | 2011-12-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Sie versuchen zu verwenden
render
aus Vermögen. Leider ist es nicht möglich, nun, schauen Sie diese.InformationsquelleAutor der Antwort WarHog
Mit der neuen asset-pipeline, die im inneren statischen Elemente (
/app|lib|vendor/assets/
), können Sie sich einige 'statische' Helfer (d.h.<%= asset_path "/foo/bar" %>
), weil Sie einfach kompilieren Sie einmal (wenn Sie auf die Produktion, D. H.) und nicht jedes mal, wenn Sie eine http-req. Deshalb macht es keinen Sinn, die Methoden wierender
(oder allgemein "dynamische" Sachen) innerhalb einer statischen asset.Für Ihren speziellen Fall, könnten Sie sowohl *.js.erb Aussicht (, das 'Spiel' eine bestimmte Aktion in dem controller) oder javascript gerendert direkt im html-Code.
InformationsquelleAutor der Antwort stecb
Können Sie nicht verwenden Schienen machen. Aber es ist möglich, um noch Teiltöne mit Erubis::Eruby-rendering direkt.
Oder in Haml
Aus irgendeinem Grund mit ERB bricht das Ritzel rendering.
Und die Bindung Weg, um pass einheimischen Variablen ist zu hässlich.
Es ist ein Weg herum, aber es ist gut, sich daran zu erinnern, dass die Verwendung von partials innerhalb Vermögen wird nicht empfohlen. Eine bessere Möglichkeit ist es, statt der teilweisen code irgendwo versteckt in den HTML-Code und verwenden Sie es in Ihrem javascripts.
InformationsquelleAutor der Antwort Nelson Haraguchi