加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在Rails 2.3.5中从模型中呈现部分

发布时间:2020-12-17 03:26:20 所属栏目:百科 来源:网络整理
导读:我有一个Rails 2.3.5应用程序,我试图从模型中呈现几个部分(我知道,我知道 – 我不应该).我这样做的原因是我将Comet服务器(APE)集成到我的Rails应用程序中,需要根据Model的事件(例如after_create)推出更新. 我试过这样做: ActionView::Base.new(Rails::Confi
我有一个Rails 2.3.5应用程序,我试图从模型中呈现几个部分(我知道,我知道 – 我不应该).我这样做的原因是我将Comet服务器(APE)集成到我的Rails应用程序中,需要根据Model的事件(例如after_create)推出更新.

我试过这样做:

ActionView::Base.new(Rails::Configuration.new.view_path).render(:partial  => "pages/show",:locals => {:page => self})

这允许我渲染不是用户助手的简单部分,但是如果我尝试在我的部分中使用link_to,我会收到一条错误说明:

undefined method `url_for' for nil:NilClass

我确保传递给“project_path(project)”的对象不是nil.我也试过包括:

include ActionView::Helpers::UrlHelper
include ActionController::UrlWriter

在包含进行上述“render”调用的方法的Module中.

有谁知道如何解决这个问题?

谢谢

解决方法

我们使用 render_anywhere宝石,并对此感到满意.

来自README:

require 'render_anywhere'

class AnyClass
  include RenderAnwhere

  def build_html
    html = render :template => 'normal/template/reference',:layout => 'application'
    html
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读