这是我使用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
部分来修复此问题吗?我仔细考虑了该项目的文件系统,我不清楚这个标记的存在位置。
答案 0 :(得分:2)
Rails源中没有_flashes.html.erb
个文件。如果你正在看
render 'flashes'
在您的应用程序中,您或您运行的某个生成器将它放在那里。查看app/views/
中的文件,查看一个名为_flashes.html.erb
的文件,其中包含您在问题中提供的标记。找到该文件后,您应该可以对其进行修改,但是您需要修复损坏的HTML问题。
如果你在那里找不到它,请查看Gemfile
中的宝石列表,特别是与主题/模板相关的宝石列表。您可能已经包含了一个包含此模板文件的gem(尽管比app/views/
中存在的文件的可能性要小得多)。