Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 一个控制器不是';t使用我的CSS和HTML结构,但其他控制器_Ruby On Rails - Fatal编程技术网

Ruby on rails 一个控制器不是';t使用我的CSS和HTML结构,但其他控制器

Ruby on rails 一个控制器不是';t使用我的CSS和HTML结构,但其他控制器,ruby-on-rails,Ruby On Rails,我的文章控制器的所有表单(新建和显示)都忽略了布局(Article.html.erb),而我的所有其他控制器(例如List)都应用了布局(lists.html.erb) 我已经在CSS旁边实现了SASS,目前我在/assets/stylesheets/style.CSS.scss中定义了所有CSS 我可以对CSS和HTML结构进行更改,它们会立即应用到我的应用程序中 我使用的是开发环境,运行的是ruby 1.9.3p125和rails 3.2.1 有人能解释为什么会发生这种情况吗 列表控制器的H

我的文章控制器的所有表单(新建和显示)都忽略了布局(Article.html.erb),而我的所有其他控制器(例如List)都应用了布局(lists.html.erb)

我已经在CSS旁边实现了SASS,目前我在/assets/stylesheets/style.CSS.scss中定义了所有CSS

我可以对CSS和HTML结构进行更改,它们会立即应用到我的应用程序中

我使用的是开发环境,运行的是ruby 1.9.3p125和rails 3.2.1

有人能解释为什么会发生这种情况吗

列表控制器的HTML布局为

<!DOCTYPE html>
<html>
<head>
  <title>Inspire</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
    <div id="home_container">
      <div id="header">
        <div id="home_user-space">
          <% if current_user %>
              <%= image_tag avatar_url(current_user), :class =>'floatleft' %>
              <%= link_to current_user.name.capitalize,user_path(:id =>current_user.name), :class =>'user-name' %>
          <% end %>
        </div>
      </div>
      <div id="navigation">
        <%= render 'layouts/navigation' %>
        <ul>
          <li><%= link_to "Log out", signout_path %></li>
          <li><%=  link_to "Your home page", home_path(:id => current_user.name), :class => 'user-name' %></li>
        </ul>

      </div>
      <div id="home_content-container">
        <div id="home_left-side">
          <%= render 'layouts/home_left_side' %>
        </div>
        <div id="home_content">
          <%= yield %>
        </div>
        <div id="home_right-side">
          <%= render 'layouts/home_right_side' %>
        </div>
      </div>
      <div id="footer">
        <%= render 'layouts/footer' %>
      </div>
    </div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
  <title>Inspire</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
<div id="home_container">
  <div id="header">
    <div id="home_user-space">
      <% if current_user %>
          <%= image_tag avatar_url(current_user), :class =>'floatleft' %>
          <%= link_to current_user.name.capitalize,user_path(:id =>current_user.name), :class =>'user-name' %>
      <% end %>

    </div>
  </div>
  <div id="navigation">
    <%= render 'layouts/navigation' %>
    <ul>
      <li><%= link_to "Log out", signout_path %></li>
    </ul>
  </div>
  <div id="home_content-container">
    <div id="home_left-side">
      <%= render 'layouts/home_left_side' %>
    </div>
    <div id="home_content">
      <%= yield %>
    </div>
    <div id="home_right-side">
      <%= render 'layouts/home_right_side' %>
    </div>
  </div>
  <!--todo what about the footer-->
  <div id="footer">
    <%= render :partial => 'layouts/footer' %>
  </div>
</div>
</body>
</html>

激发
“全部”%>
'左'>
当前_user.name),:class=>'user-name'>
  • 当前_user.name),:class=>'用户名'%>
我的文章控制器的布局是

<!DOCTYPE html>
<html>
<head>
  <title>Inspire</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
    <div id="home_container">
      <div id="header">
        <div id="home_user-space">
          <% if current_user %>
              <%= image_tag avatar_url(current_user), :class =>'floatleft' %>
              <%= link_to current_user.name.capitalize,user_path(:id =>current_user.name), :class =>'user-name' %>
          <% end %>
        </div>
      </div>
      <div id="navigation">
        <%= render 'layouts/navigation' %>
        <ul>
          <li><%= link_to "Log out", signout_path %></li>
          <li><%=  link_to "Your home page", home_path(:id => current_user.name), :class => 'user-name' %></li>
        </ul>

      </div>
      <div id="home_content-container">
        <div id="home_left-side">
          <%= render 'layouts/home_left_side' %>
        </div>
        <div id="home_content">
          <%= yield %>
        </div>
        <div id="home_right-side">
          <%= render 'layouts/home_right_side' %>
        </div>
      </div>
      <div id="footer">
        <%= render 'layouts/footer' %>
      </div>
    </div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
  <title>Inspire</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
<div id="home_container">
  <div id="header">
    <div id="home_user-space">
      <% if current_user %>
          <%= image_tag avatar_url(current_user), :class =>'floatleft' %>
          <%= link_to current_user.name.capitalize,user_path(:id =>current_user.name), :class =>'user-name' %>
      <% end %>

    </div>
  </div>
  <div id="navigation">
    <%= render 'layouts/navigation' %>
    <ul>
      <li><%= link_to "Log out", signout_path %></li>
    </ul>
  </div>
  <div id="home_content-container">
    <div id="home_left-side">
      <%= render 'layouts/home_left_side' %>
    </div>
    <div id="home_content">
      <%= yield %>
    </div>
    <div id="home_right-side">
      <%= render 'layouts/home_right_side' %>
    </div>
  </div>
  <!--todo what about the footer-->
  <div id="footer">
    <%= render :partial => 'layouts/footer' %>
  </div>
</div>
</body>
</html>

激发
“全部”%>
'左'>
当前_user.name),:class=>'user-name'>
'布局/页脚'%>
您基本上是自己给出解决方案的: 您说对于List controller,布局文件是
lists.html.erb
(复数),但是对于Article controller,布局文件是
Article.html.erb
(单数)

命名很重要:)


希望这能有所帮助。

您基本上是自己给出解决方案的: 您说对于List controller,布局文件是
lists.html.erb
(复数),但是对于Article controller,布局文件是
Article.html.erb
(单数)

命名很重要:)


希望对您有所帮助。

在您的文章中,请确保:

# app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
  layout "article"
  #...
end
#app/controllers/articles_controller.rb
类ArticlesController<应用程序控制器
布局“文章”
#...
结束
这只是一个观察,但除了一些空白,您的两个布局是相同的。为什么?复制/粘贴错误?如果没有,这就引出了一个问题:您如何知道文章布局没有被使用?您可以查阅开发服务器日志,查看正在使用的布局

另外,也许您已经设置了资产管道来编译开发中的资产?或者运行bundle exec rake资产:预编译?如果确实存在或已经存在,请删除编译目录
/public/stylesheets/compiled
,进行更改,然后在浏览器中刷新应用程序


如果您的布局基本相同,您可能希望。它们允许您简单地定义一个布局
app/views/layouts/application.html.erb
,并根据控制器或操作的需要替换其中的小部分。

在您的文章控制器中,请确保:

# app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
  layout "article"
  #...
end
#app/controllers/articles_controller.rb
类ArticlesController<应用程序控制器
布局“文章”
#...
结束
这只是一个观察,但除了一些空白,您的两个布局是相同的。为什么?复制/粘贴错误?如果没有,这就引出了一个问题:您如何知道文章布局没有被使用?您可以查阅开发服务器日志,查看正在使用的布局

另外,也许您已经设置了资产管道来编译开发中的资产?或者运行bundle exec rake资产:预编译?如果确实存在或已经存在,请删除编译目录
/public/stylesheets/compiled
,进行更改,然后在浏览器中刷新应用程序


如果您的布局基本相同,您可能希望。它们允许您简单地定义一个布局
app/views/layouts/application.html.erb
,并根据控制器或操作的需要替换其中的一小部分。

默认情况下查找复数名称是正确的,但布局可以根据需要命名。默认情况下查找复数名称是正确的,但是布局可以根据您的需要命名。您建议使用“布局”文章很有效,非常感谢。我不太了解嵌套布局-它们听起来像是我试图实现的-谢谢。您建议使用“布局”文章很有效,非常感谢。我不太了解嵌套布局——它们听起来像是我想要实现的——也谢谢你。