我需要为“文章”创建典型的crud应用程序,在这方面是否有标准或最佳实践?我知道每个应用程序和情况都有所不同,但我的意思是一般。
其次,我对如何处理与特定文章相关的多个图像感到困惑,我想只是img标签散布在文章的正文中,而不是有图像表并引用图像和文章,所有那。只是寻找一些关于如何处理这类事情的提示和建议,因为我相信大多数人都已经多次这样做了。
我的文章定义是:
CREATE TABLE `articles` (
`id` int(11) NOT NULL auto_increment,
`issue_id` int(11) default NULL,
`status` text,
`updated_at` date default NULL,
`body` text,
`title` varchar(255) default NULL,
`author` varchar(255) default NULL,
`created_at` date default NULL,
PRIMARY KEY (`id`)
)
答案 0 :(得分:2)
Dublin Core是文档和媒体的非正式标准属性集。属性是:
在这个列表背后多年来运行文档/媒体管理应用程序的人们已经有了相当多的想法。我认为这是一个很好的资源,可以深入了解您的用户可能会发现哪些属性最初可能会遗漏的想法(例如创建者与发布者与贡献者与来源)。我不会将所有这些转储到您的应用程序中而不考虑它们是否相关。
我认为你确实需要一个将图像与文章相关联的表格。否则,如果您需要知道文章使用的图像,例如删除文章及其图像,则查找关联图像的唯一方法是解析文章正文本身。这使得使用字符串处理函数的笨拙SQL或在应用程序中强制处理,如果您需要一次处理一组文章,这两者都可能是性能问题。
您仍然可以在文章正文中使用图片标记来布局图像,但是避免使用任何更复杂的自定义标记系统。只需编写模型,以便在创建/编辑文章时解析图像标记并更新连接表。一点点nokogiri和attachment_fu(或他们的替代品)应该使这成为一个快速的工作。
答案 1 :(得分:1)
文章表:
CREATE TABLE `articles` (
`id` int(10) unsigned NOT NULL auto_increment,
`keyname` varchar(96) NOT NULL,
`title` varchar(96) NOT NULL,
`content` text NOT NULL,
`tags` varchar(128) NOT NULL,
`author` varchar(128) NOT NULL,
`date_created` datetime NOT NULL,
`date_updated` datetime default NULL,
PRIMARY KEY (`id`)
)
文章图片:
CREATE TABLE `articles_images` (
`id` int(10) unsigned NOT NULL auto_increment,
`article_id` int(10) unsigned NOT NULL,
`url_thumb` varchar(512) NOT NULL,
`url_big` varchar(512) NOT NULL,
`date_created` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `article_id` (`article_id`)
)
url_thumb - 图片缩略图
url_big - 大图片
你可以查看Wordpress`数据库chema
答案 2 :(得分:0)
如果您只是想显示图像并使用ftp上传它们,图像标记就可以了
如果您想要一个Web界面上传它们,保存数据库中的路径非常方便
您不必将图像附加到文章本身,您可以使用表格保存图像路径,然后使用连接模型或只是通过图像标记指向图像
这允许您使用像paperclip(插件)一样方便的东西来处理上传和存储