【发布时间】:2016-05-20 19:30:58
【问题描述】:
在我当前的 Rails 应用程序中,我的布局文件夹中有一个部分用于导航侧边栏。除了我的分数控制器的new 和thankyou 操作之外,我希望这个侧边栏为我的应用程序的每个页面呈现,因为这两个视图将成为 iframe 的一部分。为此,我正在制作另一个名为 iframe.html.erb 的布局,我想将逻辑排除在导航侧边栏之外。
这是我的 application.html.erb 布局文件
<!DOCTYPE html>
<html>
<head>
<title>NPS</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<div id="wrapper">
<%= render 'shared/navigation' %>
<%= yield %>
</div>
</body>
</html>
这是我的 iframe.html.erb 文件
<!DOCTYPE html>
<html>
<head>
<title>NPS</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<div id="wrapper">
<%= if (current_page?(controller: 'scores', action: 'new') || current_page?(controller: 'scores', action: 'thankyou' )) do %>
<%= yield %>
<% end %>
</div>
</body>
</html>
我最初在我的应用程序布局中只有一个unless 语句,但这在sign-in 页面上不起作用,因为devise 会在devise 文件夹中寻找那些分数视图。我对 html.erb 也不是很好,所以如果只是语法问题,我很抱歉。
编辑:
这是我在设计时遇到的错误
ActionController::UrlGenerationError at /users/sign_in
No route matches {:action=>"new", :controller=>"devise/scores"}
谢谢
【问题讨论】:
标签: html ruby-on-rails iframe