仅限于主题#34;新"博客中的帖子

时间:2016-06-24 20:11:55

标签: ruby-on-rails ruby ruby-on-rails-4 content-management-system themes

常见的解决方案专注于为不同的页面或控制器创建主题或不同的CSS文件。

每当我创建新博客文章时,是否有解决方案,我也可以从下拉列表中选择一个主题,或者new_post页面中的form_fields根据主题的选择更改样式和形状和布局,例如边栏?

有没有这样的宝石,或者我们如何推出相关的东西?

1 个答案:

答案 0 :(得分:1)

在数据库中为“主题”添加一列,并为每个Post主题创建一个CSS文件。在您的视图中,使用存储在数据库中的值设置Post容器的CSS。

主题1.CSS

.theme-1 {
  /* Some CSS */
}

.theme-1 p {
  /* Some CSS */
}

...

主题2.css

.theme-2 {
  /* Some CSS */
}

.theme-2 p {
  /* Some CSS */
}

...

文章/ show.html.erb

<div '#post-container' class='<%= @post.theme %>' %>
  ...
</div>

文章/ show.html

<div '#post-container' class='theme-1' %>
  ...
</div>