Ruby on Rails中页面上的可编辑块(与模型无关 - 与SEO相关)

时间:2013-12-17 08:06:31

标签: ruby-on-rails ruby

我的搜索引擎优化人员不会编写代码。他们所爱的只是创造出好的文本。他们所能做的只是通过一些不错的表格粘贴文本数据库。

问题是他们有时会问我:我们需要将文本放入页脚。我们需要将一些其他文本放入页眉。

每次SEO-man问我时,我都无法编辑代码!

有时文本与模型没有直接关系。我想您会理解我在footer_blockCar模型中创建Person字段是个坏主意。

如果有一颗宝石可以,它会有多好:

  1. 按键从数据库加载文本数据(例如“FOOTER_BLOCK”)。让我不要把模型搞得一团糟!
  2. 向我们提供SEO人员可以粘贴文本的表格
  3. (会很高兴)给我们一个WISIWIG编辑器。
  4. PS:这种功能的一个例子(但不是在Ruby中):我曾经在python / Django中编码。我们使用django-flatblocks包 - 它确实符合这三个标准。

1 个答案:

答案 0 :(得分:1)

我不知道会有这样做的任何宝石,但希望我能说明你如何能够实现它


代码块

您可以创建一个名为code_blocks的表(和模型)。架构可能如下所示:

code_blocks
id | title | body | created_at | updated_at

这将允许您在此表中创建所需的任意数量的记录,然后从您的应用程序中调用它们,而无需特定的控制器操作


<强>显示

你可以这样做:

#app/helpers/application_helper.rb
def code_block(id)
    block = CodeBlock.find(id)
    return block.body
end

这可能效率低下,但它允许您在页面上包含所需的代码块,与控制器操作无关

因此,例如,您有一个ID为3的页脚块,您可以输入:

<%= code_block(3) %>

<强>修改

这意味着如果您有一个简单的后端表单,您可以设置它以便按标题列出块,并允许SEO人员使用WYSIWYG编辑器编辑HTML(在{{中保存HTML) 1}}列)