【问题标题】:ERb file displaying as HTML file in the browserERb 文件在浏览器中显示为 HTML 文件
【发布时间】:2015-04-02 23:49:45
【问题描述】:

我在中断后回到了轨道,ERB 没有按预期呈现。我从一个全新的项目中打开了一个视图,并从 chrome 和 firefox 中的一个旧项目中打开了一个视图。所有四个排列中的相同问题。

这里是 _form.html.erb

<%= form_for(@cat) do |f| %>
  <% if @cat.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@cat.errors.count, "error") %> prohibited this cat from being saved:</h2>

      <ul>
      <% @cat.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :birth_date %><br>
    <%= f.date_select :birth_date %>
  </div>
  <div class="field">
    <%= f.label :color %><br>
    <%= f.text_field :color %>
  </div>
  <div class="field">
    <%= f.label :name %><br>
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :sex %><br>
    <%= f.text_field :sex %>
  </div>
  <div class="field">
    <%= f.label :description %><br>
    <%= f.text_area :description %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

这里是 new.html.erb

<h1>New Cat</h1>

<%= render 'form' %>

<%= link_to 'Back', cats_path %>

这是浏览器呈现的内容:

我正在运行 rails 4.2.1 和 ruby​​ 2.2.1,我对这两个版本都是全新的。

【问题讨论】:

  • 没有足够的信息来提供帮助;相关的项目结构(例如,app dir)、示例控制器等,可能还有 Gemfile。
  • 谢谢,我刚刚在 github 上添加了该应用的链接;我会确保这篇 SO 帖子反映了最终的问题和解决方案。

标签: html ruby-on-rails ruby-on-rails-4 erb


【解决方案1】:

事实证明,我在浏览器中打开 ERb 文件的方式是我已经习惯于打开 HTML 文件的方式(Command + O -> 选择文件)。难怪它被读取为 HTML!

为了后代:您必须在终端导航到您的应用程序目录,使用“rails s”启动一个 rails 服务器,然后从 localhost:3000 导航到您的视图。

【讨论】:

    【解决方案2】:

    我认为您的views 目录中可能有一个挥之不去的new.html

    【讨论】:

    • 感谢您的想法,但我仔细检查过,事实并非如此。此外,this post 暗示 Rails 4 不允许您在浏览器中打开视图进行检查(据我所知)。
    • 您可以将您的代码发布到 github 存储库以便我查看吗?
    猜你喜欢
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多