部分我剛剛實施的設計Invitable寶石在我的Rails應用程序,現在我有讓我的諧音來呈現的問題。我想這是因爲絕對路徑和相對路徑。Rails的渲染從子目錄
我猶豫,因爲我所有的其他觀點的改變很大,我application.html.erb
依賴於正在呈現的諧音。那麼,還有另一種方法可以使這一切工作?
這裏是目錄樹:
app/
-controllers/
---application_controller.rb
---users/
-----invitations_controller.rb
-views/
---layouts/
-----application.html.erb
-----_back_buttons.html.erb
-----_footer.html.erb
-----_navigation.html.erb
---users/
-----invitations/
-------new.html.erb
-------edit.html.erb
在我application.html.erb
文件,我正在渲染視圖&諧音有:
<%= render partial: 'layouts/navigation' %>
<%= render partial: 'layouts/topnav' %>
<%= render partial: 'layouts/tour' %>
<%= yield %>
<%= render partial: 'layouts/footer' %>
<%= javascript_include_tag 'footermanifest' %>
而且在我的新觀點views/users/invitations/new.html.erb
:
<%= render partial: "/layouts/back_button" %>
... the form
不冰的絕對參照局部這裏(/)
這將加載layouts/_back_button.html.erb
很好,但沒有其他的partials在application.html.erb
負載。基本上,我有一個漂亮的空白頁面(由application.html.erb提供)。
我做得不對的,我怎麼嵌套在views/users/invitations/new.html.erb
還是其他什麼東西?
UPDATE 開始思考......因爲我不想PPL創建一個「新」用戶帳戶看到導航和一切,我強迫他們不同的佈局controllers/application_controller.rb
:
def layout_by_resource
if devise_controller? && resource_name == :user && action_name == "new"
"external_pages"
else
"application"
end
end
那麼,有沒有更進一步指定layout_by_resource
讓我`控制器/用戶/ invitation_controller.rb不屬於此範圍內的方法嗎?
我希望你的意思'application.html.erb'而不是'application.rb' –
@maxple是的,對不起...... – Godzilla74
在正常工作的那個例子,你必須在部分路徑的開始'/'(斜線)。我想知道是否將其添加到其他人會工作。 –