Tag: activeview

从Model内部访问ActionView帮助程序

我有一个简单的模板系统,它在渲染模板时调用在我的模型的不同类(有点小部件)中定义的show_me方法。 这些小部件最初将html作为字符串返回。 所以在我的erb中我有这样的想法。 随着小部件的视图变得更加复杂,我开始使用partials来渲染它们,从我的小部件内部调用ActionView::Base渲染方法(请不要呕吐:) def show_me # … specific calculations and other magic. ActionView::Base.new(MyApp::Application.config.view_path).render(:partial => “widgets/weather_widget”, :locals => {:data => data, :settings => settings}) end 所以,这就像一个魅力(真的……),但是当我想在小部件特定部分内部使用帮助器(例如widgets/_weater_widget.html.erb )时,它们不起作用。 例如。 javascript_tag加注 can’t convert nil into String actionpack (3.0.0) lib/action_view/helpers/asset_tag_helper.rb:790:in `join’ actionpack (3.0.0) lib/action_view/helpers/asset_tag_helper.rb:790:in `rails_asset_id’ actionpack (3.0.0) lib/action_view/helpers/asset_tag_helper.rb:813:in `rewrite_asset_path’ actionpack (3.0.0) lib/action_view/helpers/asset_tag_helper.rb:742:in `compute_public_path’ actionpack (3.0.0) lib/action_view/helpers/asset_tag_helper.rb:256:in `javascript_path’ actionpack […]