1

这是我第一个使用 Ruby on Rails 的项目,我正在编写前端代码;后端开发人员也是 Rails 的新手。一个模板包含代码render 'flashes',当表单提交出错时触发该代码;但它生成的标记搞砸了,我想修复它。这是一个例子。<!-- comments -->是我的:

<div id="flash">
    <div class="wrapper">
      <div title="Error" class="error"></div>  <!-- Empty div -->
        <p>Please enter a valid email</p>      <!-- p element sibling of div.error -->
      </div>                                   <!-- Closes div.wrapper -->
    </div>                                     <!-- Closes div#flash -->
</div>                                         <!-- Extra /div closes parent div -->

我更喜欢使用一个div作为消息,但最大的问题是末尾的额外结束div标记,它关闭了父分区,弄乱了布局。

我看到错误消息在控制器中定义为flash[:error] = "Please enter a valid email",但我不知道 rails 从哪里得到这个虚假标记。_flashes我可以编辑部分内容来解决此问题吗?我仔细研究了项目的文件系统,我不清楚这个标记在哪里。

4

1 回答 1

2

Rails 源代码中没有_flashes.html.erb文件。如果你看到

render 'flashes'

在您的应用程序中,您或您运行的某些生成器将其放在那里。查看包含您在问题中提供的标记的app/views/被调用文件。_flashes.html.erb找到该文件后,您应该能够对其进行修改,但是您需要修复损坏的 HTML 问题。

如果您在那里找不到它,请查看您的宝石列表Gemfile,特别是与主题/模板相关的宝石列表。您可能已经包含了一个包含此模板文件的 gem (尽管比存在于 中的文件可能性要小得多app/views/

于 2012-08-28T06:10:18.590 回答