2013-04-02 61 views
5

我可以這樣做:在rails中使用鬍鬚視圖模板最簡單的方法是什麼?

render :text => Mustache.render(view_template_in_a_string, object_hash) 

在我的控制器,但它似乎更傳統的放下面的觀點在它自己的viewname.mustache.html文件view_template_in_a_string/controllername/action.mustache.html就像我會用行動。 html.erb

目前我使用

gem 'mustache' 

我的小鬍子需要

如何使用絕疼痛的觀點就像我會與僱員再培訓局


據我所知,鬍子是邏輯少,我不需要我的意見邏輯


我目前黑客:

# controllers/thing_controller.rb 
def some_action 
    hash = {:name => 'a name!!'} 
    vw = File.read('./app/views/'+params[:controller]+'/'+params[:action]+'.html.mustache') || "" 
    render :text => Mustache.render(vw, hash), :layout => true 
end 

回答

1

只需使用此寶石:

https://github.com/josh/mustache-rails

通過這種方式,您可以輕鬆配置您的Rails應用程序以提供正確的視圖模板,以便您不再需要黑客。

+4

此寶石不再存在。由於唯一的答案是你的,我建議更新它。 – installero

4

自原始解決方案以來,更新的答案mustache-rails不復存在。

創業板:

https://github.com/agoragames/stache

具有冗餘,但簡單的例子來解決如何在我們的Rails項目中使用stache,我們會成爲一個噪聲演示應用的開始。

要開始,我們將mustachestache寶石添加到我們的Gemfile中,並運行bundle install

那麼在我們config/application.rb我們需要告訴stache使用mustache(其他可用的選項是handlebars;還有,這和其他配置選項可以在他們的github page找到)。

Stache.configure do |config| 
    config.use :mustache 
end 

這裏的樣本目錄結構,對於我們的應用程序的幾個示例文件:

app/ 
    controllers/ 
    noises_controller.rb 
    models/ 
     noise.rb 
    templates/ 
    noises/ 
     animal.mustache 
    views/ 
    noises/ 
     animal.rb 

controllers/noises_controller.rb

class NoisesController < ApplicationController 
    def animal 
    end 
end 

models/noise.rb

class Noise < ActiveRecord::Base 
    def self.dog 
    "ar roof" 
    end 

    def self.sheep 
    "baa" 
    end 

    def self.bullfrog 
    "borborygmus" 
    end 
end 

templates/noises/animal.mustache

<p>This is what a dog sounds like: {{ dog }}</p> 
<p>This is what a sheep sounds like: {{ sheep }}</p> 
<p>And bullfrogs can sound like: {{ bullfrog }}</p> 

views/noises/animal.rb

module Noises 
    class Animal < Stache::Mustache::View 
    def dog 
     Noise.dog 
    end 

    def sheep 
     Noise.sheep 
    end 

    def bullfrog 
     Noise.bullfrog 
    end 
    end 
end 

希望這個澄清的人怎麼可以使用stachemustache在Rails應用程序服務的正確視圖模板的例子。

相關問題