努力做到以下几点

@message = render_to_string ( :sender => sender, :template => "template" )          

但当在模板中访问@sender时,结果是nil:NilClass.仔细判断我是否传递了正确的变量,结果完全正常.也许还有其他方法可以传递变量来呈现_到_字符串?

推荐答案

这可能是你使用的语法.try 使用:locals参数:

@m = render_to_string :template => "template", :locals => {:sender => sender}

然后你只需要访问sender(不带@)作为模板内的局部变量.

Ruby-on-rails相关问答推荐

如何在rails 7中禁用Simple_Form验证

Rails TurboStream:可以向元素动态添加一个css类吗?

Rspec期望()与期望{}

如何在 to_json 中获取回形针图像的 url

ActiveRecord 回调列表

注册表单上是否需要 CSRF 保护?

安装mysql2(0.4.8)时出错,Bundler无法继续

Rails:删除级联与依赖销毁

适合mysql比较的Ruby datetime

未定义的方法 attr_accessible

Rails:在 lib 目录中记录代码?

如何找出现有 Rails 应用程序基于哪个 Rails 版本?

通过字符串获取 ActiveRecord 对象的属性

使用god 监控独角兽 - 以非零代码开始退出 = 1

Rails:从视图内渲染视图(不是部分视图)

Rails 3.1 Sprockets 需要指令 - 有没有办法排除特定文件?

:javascript haml 标签中的内联Ruby ?

如何使用 Rails 3 获取请求的目标控制器和操作?

为什么 Google Oauth 在我的 Rails 应用程序中返回无效的 redirect_urI?

从 Rails 中的 ActiveRecord::RecordNotFound 救援