2012-08-15 120 views
2

我正在写一个rails应用程序,允许用户删除各种记录。按下删除按钮后,我想用bootstrap显示确认对话框。我想在我的几个视图中使用这个相同的对话框,所以我需要在我的大部分页面中包含相同的HTML片段。在哪里把可重用的HTML代码放在rails中?

我是新来的铁轨,我仍然在学习公约。任何人都可以建议放置对话框代码的最佳(或标准)地方吗?它应该是views/layouts/_confirm_delete_dialog.html.erb中的一个部分,是否应该在application.html.erb之内,还是应该放在其他地方?

预先感谢您的咨询,

D.

回答

2

在您的浏览文件夹,您可以创建(任何你想要的称呼)的通用文件夹。如果您有一个需要传递到总体布局的变量,那么您肯定可以这样做,但您需要确保所传递的信息不会与从模型中拉出的字段发生冲突。例如,如果您有两个模型,一个具有公共字段,另一个不具有公共字段,则不会希望使用公共字段的通用消息。不过,像created_at或updated_at这样的东西可以。

你会使用类似的代码,

<%= render 'general/simple_message', :f => f %>

在你的意见的文件夹,你将有一个名为general目录和一个名为_simple_message.html.erb文件。

+0

谢谢kobaltz。尽快澄清:我的文件应该被命名为'_simple_message.html.erb'还是'simple_message.html.erb',不带下划线?我最初尝试完全按照你的建议,但直到我添加了前导下划线,我得到了一个'Missing partial'错误消息。如果你的答案被编辑,或者我做错了什么? – 2012-08-15 23:07:21

+0

你是对的。抱歉。在我的部分输入-o。 – kobaltz 2012-08-16 02:58:57

+0

据我所知,对于rails 3.X,你需要在你的文件名之前 – 2014-01-15 16:04:15