On Dec 3, 4:36 pm, John <[email protected]> wrote:
> <html xmlns="http://www.w3.org/1999/xhtml"> > <head> > <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> > <link href="css/style.css" rel="stylesheet" type="text/css" media="all"/> > </head> > <body> > <div class="title">Post: *{post_name}*</div> > </body> > </html> > > I have a posts controller and need to render this template from posts#show > without changing anything under *public/test *directory. And, replace > *{post_name}* > by post name. > > I've tried that in many ways to do that but couldn't. Specially, the css and > images path not working any way. It's always looking > underhttp://localhost:3000/posts/{....} > Your CSS link is relative (doesn't begin with a / ) so the browser will think the path for it is /posts/test/css/style.css. Making the css and any asset links absolute will fix this. You could if you really didn't want to change the file, add a route for that path and render the css file in response but that seems a bit over the top. Alternatively rewrite any of those relative links in the file before you send the response (I'd recommend using nokogiri to do this rather than tearing apart the HTML with regular expressions). I'm also sure why this isn't a regular erb/haml template though instead of inventing your own templating scheme. Fred > I will be pleased if anyone can help me regarding this. Thanks in advance for > your help. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

