Project Label - Rails Version

本文汇集了一系列开源项目的链接,涉及多个技术领域,包括但不限于网站应用、后端服务及个人博客等资源。通过这些链接可以访问到如 Homeland、V2EX 和 Campo 等项目的主页及代码仓库。
http://www.opensourcerails.com/projects/901697-Homeland
http://www.v2ex.com/
https://github.com/livid/v2ex
http://v2ex.appspot.com/
http://web.me.com/v2ex.livid/v2ex/avatars/14/large/479.png?r=1300890856
http://huacnlee.iteye.com/blog/774779
http://hacktao.com/2011/03/04/310
http://chinaonrails.com/topic/view/5034.html
http://chinaonrails.com/topic/view/5050.html

https://github.com/chloerei/campo

http://github.com/huacnlee/homeland
在redmine安装根目录可以找到use_redmine程序, 1、运行redmine相关的服务,进入命令行,在redmine安装根目录执行./use_redmine 2、export RAILS_ENV="production"。必须执行该命令,否则在执行第3布时会报下面的错误redmine-3.2.0-0/ruby/lib/ruby/gems/2.0.0/gems/mysql2-0.3.14/lib/mysql2/client.rb:67:in `connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error) 3、进入apps/redmine/htdocs目录,执行bundle exec ruby bin/rails generate redmine_plugin polls,创建了一个poll插件。网上资料中都是bundle script/rails,需要改成bin,redmine官网有说明You need to useruby bin/rails or rails on Redmine 3.x (Rails 4) 4、bundle exec ruby bin/rails generate redmine_plugin_model polls poll,创建一个model层。ruby on rails采用MVC架构开发web。 5、bundle exec ruby bin/rails generate redmine_plugin_controller Polls polls index,创建视图层,默认生成index方法对应的网页文件 6、给插件添加菜单,修改init.rb文件,内容如下 Redmine::Plugin.register :polls do name 'Polls plugin' author 'Author name' description 'This is a plugin for Redmine' version '0.0.1' url 'http://example.com/path/to/plugin' author_url 'http://example.com/about' menu :top_menu, :polls, { :controller => 'polls', :action => 'index' }, :caption => 'Polls' end 7、关键的一步,搜索的资料中都没有提到!!!需要为插件添加路由,在点击网页的菜单时可以调用正确的方法,否则日志文件中会报no routes错误。修改config目录中的routes.rb文件,内容如下: RedmineApp::Application.routes.draw do match 'polls/:action', :to => 'polls#index', :via => [:get, :post] end 8、修改controller.rb文件,内容如下 class PollsController < ApplicationController unloadable def index scope = Project.visible.sorted respond_to do |format| format.html { unless params[:closed] scope = scope.active end @projects = scope.to_a } format.api { @offset, @limit = api_offset_and_limit @project_count = scope.count @projects = scope.offset(@offset).limit(@limit).to_a } format.atom { projects = scope.reorder(:created_on => :desc).limit(Setting.feeds_limit.to_i).to_a render_feed(projects, :title => "#{Setting.app_title}: #{l(:label_project_latest)}") } end end end 9、修改app/helpers目录中的polls_helper.rb文件,内容如下,这段代码是从redmine源码的project_helper.rb中找到的: module PollsHelper def render_project_hierarchy(projects) render_project_nested_lists(projects) do |project| s = link_to_project(project, {}, :class => "#{project.css_classes} #{User.current.member_of?(project) ? 'my-project' : nil}") if project.description.present? s << content_tag('div', textilizable(project.short_description, :project => project), :class => 'wiki description') end s end end end 10、修改app/views/polls目录中的index.html.erb,@projects是在controller中定义的实体变量可以直接在html.erb文件中访问。内容如下: <h2>PollsController#index</h2> <div id="projects-index"> <%= render_project_hierarchy(@projects) %> </div>
09-09
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值