【发布时间】:2014-08-16 09:51:32
【问题描述】:
我正在制作一个非常简单的 CMS,它只更改现有页面上的现有文本和图像,仅此而已。没有改变布局或任何类似的疯狂。
有点像wordpress。以下是它的工作原理:
- 如果管理员登录,他们的顶部会有一个特殊栏 页面,这将使他们能够编辑页面。
- 点击后,他们会转到控制面板,以及所有可编辑的可视区域。
- 然后他们可以在控制面板中编辑页面并保存。
组织这个流程的好方法是什么?
我已经开始了,让我感动的一件事是,所有填充页面可编辑区域的逻辑都发生在视图中:
splash/welcome.html.erb
<% @page = Page.find(name: 'welcome') %>
<% regions = @page.text_regions %>
<h1> <%= regions.where(name: 'title').text %> </h1> This returns the title (Welcome to my website)
<%= regions.where(name: 'welcometext').text %> This returns welcome text (This is my website bla bla)
我工作得很好,尽管数据库最初必须使用空白区域作为种子。
但是,我不喜欢视图中的逻辑,那么如何在应用程序控制器中填充 @regions 实例变量?还是我做得很好?
也许将来我希望用户能够创建页面,这意味着我将无法在视图中包含此逻辑。
【问题讨论】:
标签: ruby-on-rails