想问下这个栏目管理模块的树形结构应该怎么做,还有哪里有比较好的 cms 源码
管理模块的导航(就是你指的树形结构),通常是固定(静态)的(毕竟你写程序能提供的功能是确定的),那么,任何一个前端框架,Bootstrap、Foundation 之类都会提供支持,那么,随便去翻翻这些前端框架的文档,抄过来,问题就解决了
我树结构写了一个星期还没搞出来,头都要写爆了 我在 view/menus 下写了个 index.json.jbuilder 文件,内容如下,我知道这里面返回的是 json 格式,怎么渲染和调用这个文件啊
json.array!(@menus) do |m|
json.id m.id
json.pId m.parent_id
json.name m.name
end
这种其实根本原因是你编程思维还没有建立起来,渲染一个多层级的树,显然需要通过一个递归算法来解决。
不考虑前后端分离的方案,纯渲染视图的伪码形如:
menu.html.erb
<%= render partial: 'item', locals: {item: @menu} %>
_item.html.erb
<section>
<p><%= item.name %></p>
<% if item.has_children? %>
<ul>
<%= render partial: "item", collection: item.children, as: item %>
</ul>
<% end %>
</section>
@nicetyler 可以看看这个 https://ruby-china.org/topics/33241 其实可以把目录和页面看成是父子关系,目录下有子目录,目录下有页面,但最终是一个树。在 blacksand 里目录页是个页面,页面有子页面,那个这个页面就是目录了。
我照着这个装不了,是不是要在 linux 系统下面装
# source 'http://gems.ruby-china.org'
source "https://rails-assets.org"
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
gem 'blacksand', github: 'microwisesystem/blacksand', branch: 'v2.5.0'
一开始是 ssl 验证,然后我把 s 去掉了,之后就报这个错误
J:\pratice\black>bundle install
Fetching https://github.com/microwisesystem/blacksand.git
Fetching source index from http://rails-assets.org/
Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from http://rails-ass
ets.org/
Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from http://rails-ass
ets.org/