我有一个只有html模板的Rails 2.1.2站点,例如jobs.html.erb,所以当我请求一个restful资源时:
www.mysite.com/jobs/1
然而,如果我要求,它会以html呈现我的工作:
www.mysite.com/jobs/1.xml
我收到错误:
模板丢失在视图路径c:/ workspace/mysite/app/views中缺少模板jobs/show.xml.erb
更糟糕的是,我也可以请求类似的东西
www.mysite.com/jobs/1.xyz
事实上,我看到了错误:
模板丢失在视图路径c:/ workspace/mysite/app/views中缺少模板作业/ show.xyz.erb
要严格地呈现html内容,告诉Rails我最不清楚也最简单的方法是除了.html.erb文件之外我不想呈现任何内容.
重要的是要注意:
如果解决方案不在render/responds_to级别会很好,因为我必须修改大量的操作.也许有一种方法可以配置Rails,以便只呈现html模板?
有人可以解释一下这里发生了什么.
我有以下标记:
<html>
<head runat="server">
<title>My title</title>
<my:MyControl runat="server" ID="myControl" />
</head>
...
Run Code Online (Sandbox Code Playgroud)
我的自定义控件是这样的:
public MyControl : Control
{
protected override void Render(HtmlTextWriter writer)
{
writer.Write("<script>this is my script</script>");
base.Render(writer);
}
}
Run Code Online (Sandbox Code Playgroud)
渲染页面时,整个头部的上半部分被切掉,所以html呈现如下:
<html>
<script>this is my script</script>
</head>
Run Code Online (Sandbox Code Playgroud)
解决方法是在base.Render之后调用writer.Write,如下所示:
base.Render(writer);
writer.Write("<script>this is my script</script>");
Run Code Online (Sandbox Code Playgroud)
为什么?!
UPDATE
我对这个问题的兴趣感到惊讶!
我发现为什么我的头标记的顶部被移除 - 这是一个HttpHandler的错误,我用来'清理'html(它将脚本移动到底部等).
这仍然无法解释为什么更改渲染方法的顺序会导致错误消失,但我确信这一切都有合理的解释!
要在Rails 3中渲染部分,我会:
render 'my_partial', :my_object => my_value
Run Code Online (Sandbox Code Playgroud)
为了获得部分结果作为字符串我做:
render_to_string(:partial => 'my_partial', :layout => false,
:locals => {:my_object => my_value})
Run Code Online (Sandbox Code Playgroud)
这可能写得最短吗?(例如,省略:partial或:locals喜欢我这样做render)(我试过,但得到错误...)
我正在寻找一个逻辑理解与样本实现的想法,采取如下这样的tilemap:
http://thorsummoner.github.io/old-html-tabletop-test/pallete/tilesets/fullmap/scbw_tiles.png
并以这样的逻辑方式呈现:
http://thorsummoner.github.io/old-html-tabletop-test/
我看到所有的瓷砖都在那里,但我不明白它们是如何以形成形状的方式放置的.
到目前为止,我对渲染图块的理解很简单,而且非常手动.循环遍历地图数组,其中有数字(1,2,3,无论如何),渲染指定的图块.
var mapArray = [
[0, 0, 0, 0 ,0],
[0, 1, 0, 0 ,0],
[0, 0, 0, 0 ,0],
[0, 0, 0, 0 ,0],
[0, 0, 1, 1 ,0]
];
function drawMap() {
background = new createjs.Container();
for (var y = 0; y < mapArray.length; y++) {
for (var x = 0; x < mapArray[y].length; x++) {
if (parseInt(mapArray[y][x]) == 0) {
var tile = new createjs.Bitmap('images/tile.png');
}
if (parseInt(mapArray[y][x]) == 1) {
var …Run Code Online (Sandbox Code Playgroud) 鉴于使用saltstack可以实现灵活的jinja模板,并且将众多支柱变量合并到模板中; 我发现在推出它之前能够让盐"渲染"完整的sl到屏幕是有用的.有办法做到这一点吗?
Rails render head :ok与vs. 之间有什么区别render status :ok?它们都作为标题返回了吗?
我有一个名为Todo的模型,我渲染了这个:
format.json { render :json => @todo }
Run Code Online (Sandbox Code Playgroud)
每个Todo都属于一个列表.我想要添加@todo.list.completion_percentageJSON 的值,因为我需要这个来更新UI(AJAX请求),所以JSON看起来像这样:
{
"todo": {
"created_at": "2011-02-26T19:39:43Z",
"updated_at": "2011-02-26T19:53:13Z",
"done": true,
"text": "Apples",
"id": 10,
"list_id": 2,
"user_id": 1,
"due_date": null
// BELOW THIS LINE SHOULD BE IMPLEMENTED
"list": {
"completion_percentage": 63
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了各种各样的东西但没有效果.谁能帮我?
正如我今天发现的那样,将WPF控件渲染为位图图像并不是一项简单的任务.正如我所知,现在处理父控制边缘是一个问题,正如Rick Strahl在他的博客中写道的那样
http://www.west-wind.com/weblog/posts/2007/Sep/10/Rendering-a-WPF-Container-to-Bitmap
到目前为止,我能够创建窗口内可见的任何控件的位图,但我真正需要做的是创建不可见控件的位图.我只是在代码中创建它们 - 简单的形状,如矩形和椭圆形 - 并希望将它们保存为磁盘的位图.对我来说,这是个人的噩梦.由于我的ActualHeight和ActualWidth始终为0,因此我使用高度和宽度.但我得到的只是一个空白的图像,大小与我无关.
如何在不将其添加到可见窗口的情况下创建任何控件的位图?
我使用快递js框架.我有一个来自数据库的markdownified字符串,并希望在我的jade模板中将其呈现为HTML.我安装了node-markdown并希望以这种方式呈现它:
app.js
var md = require("node-markdown").Markdown;
Run Code Online (Sandbox Code Playgroud)
template.jade
- each note in todo.notes
div= md(note.string)
Run Code Online (Sandbox Code Playgroud)
但是,它没有打印出任何东西......有什么建议吗?
谢谢!
编辑:我自己解决了,只是忘了把md变量放到我的视图中......
我读过Twig:render vs include但它不是我想要的.我不知道我应该在何时何地使用渲染,何时应该使用include,因为这些表达式的行为看起来与我非常相似.
这两个表达式之间的根本区别是什么?