2012-10-15 72 views
0

我想未來的事情......Ruby on Rails的:局部視圖繼承

# For ArticlesController > ApplicationController 
    # in view 
    render 'articles/edit/form' 
    # tries 'app/views/articles/edit/_form.html.erb' 
    # then tries 'app/views/articles/_form.html.erb' 
    # then what it wants 

或許與陣列partial選項渲染:

# For ArticlesController > ApplicationController 
    # in view 
    render_exists ['articles/edit/form', 'articles/new/form'] 
    # tries 'app/views/articles/edit/_form.html.erb' 
    # then tries 'app/views/articles/new/_form.html.erb' 
    # then what it wants 

這是不實現的,是這樣嗎?但也許一些寶石3.2或monkeypatches ...並不知道拉請求rails呢?謝謝!

UPD這不是基於控制器的視圖繼承。這應該適用於(在同一頁):

render `articles/edit/form` 
    render `comments/edit/form` 

回答

0

我用我an article in the rails forum所描述的機制

它的工作原理一種享受對我來說,雖然我聽說現在有一些內置支持在最新版本中,或者至少正在努力添加這樣的功能。

0

它已經存在,它與控制器繼承非常相似。

您必須遵循傳統的戰略,但是。你會把你的全局部分放在app/views/application中,那麼你可以在每個繼承的層次上放一個更具體的部分,比如app/views/articles

看看下面railscast瞭解更多詳情:#269 Template Inheritance

+0

我知道。那是別的。我是頁面中的一個對象的'所有者',而其他的則是'客人'。即兩條評論,第一條是我的。對於'comment''''edit'形式不等於'new'形式,但對於'article's它們是相等的。 – Kuraga