2014-10-01 78 views
1

我試圖實施以下行爲默認呈現動作: Tree of the project使用渲染模板,而不是在軌控制器

你可以看到,我有一個漂亮的控制器非標準意見的結構,而是「行爲」部分,我創建了一個文件夾,這個文件夾被命名爲一個動作,並且在這個文件夾中有一個動作分支。

我嘗試用 「prepend_view_path」:

def set_view_paths 
    self.prepend_view_path ["#{Rails.root}/app/views/#{controller_name}/#{action_name}"] 
    end 

但導軌發現未來:

Missing template "posts/index" 
in ".../app/views/posts/index" 

我需要在行動的末尾添加財產以後這樣的:

render template: 'index' 

問題: 有沒有更好的方法來解決這個問題?

回答

0

結算這個SO thread。從閱讀主題看,它看起來不像是有一種乾淨的方式來解決這個問題。唯一的方法是覆蓋render

我不知道爲什麼你把你的模板文件到子文件夾,但是,如果它不爲你提供任何benifit,它可能更容易移動index.html.erbshow.html.erb ECT他們的子文件夾,只是把他們views/posts下。

這也會使其他開發人員(以及後來的人)更容易,因爲您符合Rails約定。

+0

也許你是對的,我太複雜簡單的事情。但是,感謝鏈接 – 2014-10-02 16:42:46