在Rails中生成HTML一般有现在的Page Cache,不过用这个缓存来生成HTML有时也许不能满足我们的实际使用要求,如我要在某个目录下生成某个HTML页面,如我要生成一个合同的HTML页面。
在Rails中有这样的一个方法
render_to_string
def create_consign_check_file
if contract = Contract.find_by_id(params[:id].to_i)
file_dir = "#{Rails.root}/public/consign_check/"
file_name = params[:id] + ".html" # + rand(100000).to_s + ".html"
name = file_dir + file_name
file = File.new(name, "w")
if contract.user_lang == "CN"
template_name = "consign_check_cn"
elsif contract.user_lang == "EN"
template_name = "consign_check_en"
end
file.puts(render_to_string :partial => template_name, :layout => false, :locals => {:contract => contract})
file.close
render :text => "<a href='http://xxxxxx/consign_check/#{file_name}' target='_blank'>#{url_for("http://xxxxxx/consign_check/"+file_name)}</a>"
else
render :text => "此合同不存在"
end
end
代码是之前的同事写的,我这里来学习一下这个render_to_string方法
分享到:
相关推荐
roadie-rails, 使HTML电子邮件适合 Rails rockstars roadie 使HTML电子邮件适合 Rails rockstars 。这里 gem 将 Rails 应用程序与Roadie钩子,以帮助你生成HTML电子邮件。安装将这个 gem 添加到你的Gemfile,
自制 命令: rails doc cd doc rake rails:freeze:gems 或 rake rails:freeze:edge rake doc:rails 在rails_app/doc/doc/目录中就生成了一个API目录,即可
5. **Helper方法**:这些辅助方法在视图层提供便利的功能,如HTML辅助方法,用于生成HTML元素。 6. **ActiveSupport**:这是Rails的一部分,包含大量实用的工具类和方法,如时间/日期处理、JSON解析和编码等。 7. ...
标题 "在Rails中使用RSpec生产CHM文档" 暗示了这个话题是关于如何在Ruby on Rails(简称Rails)框架中使用RSpec测试工具来创建帮助文档,特别是以CHM(Microsoft Compiled HTML Help)格式。CHM文件是一种常见的...
3. **ActionView**:视图部分用于生成HTML输出,显示给用户。Rails提供了一套强大的模板系统,使得开发者可以使用ERB(Embedded Ruby)或HAML等语法来编写视图。 4. **Routes**:Rails的路由系统负责将HTTP请求映射...
在Rails应用中,视图(View)部分通常包含HTML和CSS代码,通过 erb(Embedded Ruby)模板引擎,可以将Ruby代码嵌入到HTML中,实现动态内容的生成。 在实例开发过程中,我们可能首先会设置一个新的Rails项目,通过`...
4. **Action View**:用于生成HTTP响应的视图层,可以使用ERB(嵌入式Ruby)或其他模板引擎来创建HTML输出。 5. **路由**:Rails的路由系统将URL映射到控制器的行动上,提供了一种灵活的方式来定义和管理应用的路由...
这会生成一个`products_controller.rb`文件以及对应的视图文件`index.html.erb`。 Rails3还支持安装插件,可以通过以下命令将插件添加到项目中: ```bash rails plugin install https://..../..git ``` 插件会被...
Rails提供了一系列辅助方法来简化HTML的生成和页面的布局。同时,表单是Web应用中不可或缺的部分,Rails提供了丰富的API来处理表单的创建和验证。此外,布局(Layouts)允许开发者在多个页面中重用公共的HTML代码,...
3. **ActionView**:负责生成HTML或其他类型的响应,通常与模板系统一起工作,将数据以用户友好的格式展示出来。 4. **路由(Routes)**:Rails的路由系统将URL请求映射到特定的控制器动作,实现了URL和应用逻辑...
五、Rails生成器 Rails提供了许多命令行工具,如`rails generate`,可以自动生成模型、控制器、迁移等,大大减少了手动编码的工作量。 六、ActiveRecord和数据库 ActiveRecord是Rails中的ORM(对象关系映射)库,它...
Rails提供了ERB(Embedded Ruby)模板,允许在HTML中嵌入Ruby代码,实现动态内容生成。此外,还可以使用Slim、Haml等其他模板语言。 3. **Controller**:控制器处理HTTP请求,调用模型进行数据操作,并将结果传递给...
Rails项目创建后,Aptana会自动生成基础的目录结构,包括app、config、db、lib等关键文件夹。在app目录下,你可以找到views、controllers、models等子目录,它们分别对应视图、控制器和模型三个核心组件。 接下来,...
1. **生成资源(Generating Resources)**:使用`rails generate`命令可以快速创建模型、控制器、视图等文件,如`rails generate scaffold Post title:string content:text`会生成一个名为Post的资源,包含相关的...
`rails generate migration AddColumnToBooks column:type`会生成一个新的迁移文件,然后通过`rails db:migrate`执行迁移,更新数据库。 7. **路由(Routing)** Rails的路由系统将URL映射到控制器的动作上,定义...
6. **视图**:`app/views`目录包含了应用的HTML模板,Rails的ERB(嵌入式Ruby)语法让开发者能在HTML中嵌入Ruby代码,实现动态内容生成。 7. **路由**:`config/routes.rb`文件定义了URL到控制器方法的映射,理解这...
- ** erb**:ERB(Embedded Ruby)是Rails中的视图模板语言,允许在HTML中嵌入Ruby代码。 - **Helper**:辅助方法,提供在视图中复用的函数。 - **Controller**:处理HTTP请求,调用模型并决定如何呈现视图。 - *...
10. **Scaffolding**:快速生成基本的CRUD(创建、读取、更新、删除)操作的代码,是Rails开发中的一个便捷特性。 这个CHM文件可能涵盖了以上所有内容的详细说明,包括每个类、模块的方法、参数、返回值和示例用法...
Rails的视图层使用ERB(Embedded Ruby)模板来生成HTML。视图助手(Helper methods)是一系列用于帮助生成视图内容的函数,比如form_for、link_to等,它们可以使视图代码更简洁,更易于理解。 **6. Routing** Rails...
例如,`resources :carts` 会自动生成CRUD(创建、读取、更新、删除)操作的路由,使得用户能够操作购物车。 购物车的核心功能包括添加商品、删除商品和计算总价。在Rails中,可以使用ActiveRecord来操作数据库。...