Nic*_*fan 7 ruby filesystems ruby-on-rails
因为"文件系统"和"rails"是这样的共同主题,无论是在一起还是分开,我都找不到任何在数据库中实现文件系统的Ruby on Rails开源应用程序.我想使用这样的应用程序作为起点或模板.
我已经能够实现User和Directory模型(后者使用Ancestry),我正在为File模型工作(我的应用程序只需要一种文件).
class User < ActiveRecord::Base
attr_accessible :email, :name, :password, :password_confirmation
has_secure_password
has_many :directories, dependent: :destroy
# ...
end # class User
class Directory < ActiveRecord::Base
attr_accessible :name, :parent_id
has_ancestry
belongs_to :user
has_many :files, dependent: :destroy
# ...
end # class Directory
# not actually implemented, yet
class File < ActiveRecord::Base
attr_accessible :name
belongs_to :directory
# ...
end # class File
Run Code Online (Sandbox Code Playgroud)
在视图中我使用jsTree来呈现树和一个表单来添加/删除,编辑......这需要改为使用AJAX,因为重定向回同一页面不会保留树的展开/折叠状态.
然而,我有这种唠叨的感觉,我正在做一些已经做过很多次的事情.您能否提供有关此类应用程序的链接或提供有关实现模型部分和视图部分的提示?
为了将模型组织为树结构,tecnique被称为嵌套集模型,因此常用名称(有助于谷歌搜索等)可能是"Activerecord嵌套" ;-)
您对祖先的选择是受欢迎的,但您可以看看项目(混合,插件,......),例如:
对于文件上传'n store部分我建议,除了已经提到的Paperclip之外,看看carrierwave本身提供了一个基于"雾" gem的存储(支持使用AWS,Google,Local和Rackspace存储文件)但是您可以选择利用carrierwave-activerecord的数据库(例如sqlite)存储
关于"视图"你可能会对这个关于jQuery File Tree的答案感兴趣,jQuery File Tree是一个可配置的jQuery和dnamique博客的浏览器插件,它有一个用于这个插件的rails连接器以及它的源代码和演示.
作为替代方案,请查看下一节中提到的应用程序的实现(源代码).
这里有一些感兴趣的"文件管理器":
| 归档时间: |
|
| 查看次数: |
2019 次 |
| 最近记录: |