Rails

gitlab安装

夙愿已清 提交于 2020-03-22 02:33:52
一,RPM 安装 1,安装包下载地址: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 2,rpm安装:sudo rpm -ih gitlab-ce-10.3.2-ce.0.el7.x86_64.rpm 3,配置:gitlab-ctl reconfigure 4,启动服务:gitlab-ctl start 5,停止服务:gitlab-ctl stop 二,配置邮件服务器 修改 /etc/gitlab/gitlab.rb文件。 ### Email Settings gitlab_rails['gitlab_email_enabled'] = true gitlab_rails['gitlab_email_from'] = 'git@ xxxx.com ' gitlab_rails['gitlab_email_display_name'] = 'GitLab' gitlab_rails['gitlab_email_reply_to'] = 'noreply@ xxxx.com ' gitlab_rails['gitlab_email_subject_suffix'] = '' ### GitLab email server settings ###! Docs: https://docs.gitlab.com

gitlab 的一些小操作

我的梦境 提交于 2020-03-19 06:58:39
一、安装gitlab 参考博文 持续集成之Gitlab安装与应用 安装gitlab,进行到 三、远端库的基本操作 之上即可 二、邮件验证注册 邮件提醒可用来注册用户时需要邮件进行验证,当gitlab上传代码或下载时也会提醒 [root@gitlab /]# vim /etc/gitlab/gitlab.rb .................. gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "848369866@qq.com" gitlab_rails['smtp_password'] = "wbwkirmyqzmzbfcf" # 此处填写的是qq邮箱的登录授权码,可根据下方图片查看 gitlab_rails['smtp_domain'] = "qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true ................

处理货币/货币的最佳方法是什么?

牧云@^-^@ 提交于 2020-03-18 21:57:31
3 月,跳不动了?>>> 我正在研究一个非常基本的购物车系统。 我有一个表 items ,其列 price 为 integer 类型。 我无法在包括欧元和美分在内的价格中显示价格值。 就Rails框架中的处理货币而言,我是否遗漏了一些明显的东西? #1楼 处理货币的常用做法是使用十进制类型。 以下是“使用Rails进行敏捷Web开发”的简单示例 add_column :products, :price, :decimal, :precision => 8, :scale => 2 这将允许您处理从-999,999.99到999,999.99的价格 您可能还希望在项目中包含验证 def validate errors.add(:price, "should be at least 0.01") if price.nil? || price < 0.01 end 理智 - 检查你的价值观。 #2楼 您可能希望在数据库中使用 DECIMAL 类型。 在迁移中,执行以下操作: # precision is the total number of digits # scale is the number of digits to the right of the decimal point add_column :items, :price, :decimal, :precision =>

重温一遍rails中ajax的操作

只愿长相守 提交于 2020-03-18 17:59:09
3 月,跳不动了?>>> rails.js是rails处理ajax的核心代码,它其实就做两件事情: 在rails.js的代码中,会去寻找页面中的links、forms和inputs,如果这些元素带有data-remote=true,那么就给其绑定新的Ajax提交或者点击事件。 当点击完成后,Ajax请求发出,然后就触发四个js自定义事件,你可以通过这些事件来处理ajax响应 具体开发的时候,也非常简单(以form_for为例): 在原本的form_for加上:remote => true,这样就会在生成的html代码上加上data-remote=true。 Ajax不仅需要编写客户端代码,服务器端也要做处理,服务端返回什么类型的数据,这个可以通过在form_for上加上"data-type" => 'json',当然如果不添加,默认是js,示例如下: # app/controllers/users_controller.rb # ...... def create @user = User.new(params[:user]) respond_to do |format| if @user.save format.html { redirect_to @user, notice: 'User was successfully created.' } format.js {}

Rails迁移更改列

百般思念 提交于 2020-03-17 22:00:31
某厂面试归来,发现自己落伍了!>>> 我们有 script/generate migration add_fieldname_to_tablename fieldname:datatype 语法,用于向模型添加新列。 在同一行,我们是否有用于更改列的数据类型的脚本/生成? 或者我应该直接在我的vanilla迁移中编写SQL吗? 我想将 datetime date 列更改为 date 。 #1楼 我不知道您是否可以从命令行创建迁移来完成所有这些操作,但您可以创建新的迁移,然后编辑迁移以执行此操作。 如果tablename是表的名称,fieldname是字段的名称,并且您希望从日期时间更改为日期,则可以编写迁移来执行此操作。 您可以使用以下命令创建新迁移: rails g migration change_data_type_for_fieldname 然后编辑迁移以使用change_table: class ChangeDataTypeForFieldname < ActiveRecord::Migration def self.up change_table :tablename do |t| t.change :fieldname, :date end end def self.down change_table :tablename do |t| t.change

手动配置Ruby On Rails开发环境

纵然是瞬间 提交于 2020-03-15 06:43:43
=========================http://blog.csdn.net=================================== 进入软件开发行业也快一年了,很幸运一进入就加入了一个敏捷开发的团队,敏捷开发的思想确实很好,拥抱变化,最快的做用户需要的功能,越早发现错误,改正错误的代价就越小。最近看到《应用Rails进行敏捷Web开发》这本书,就买了下来,虽说现在一直在从事JAVA的开发工作,对ruby和rails也不了解,不过通过学习一些新的语言,来详细了解敏捷软件开发,岂不是一举两得! 要运行书中的Depot项目就要安装ruby和rails,在网上google了一些资料,很顺利的跑起来了,先谢谢网上提供资料的各位了,下面是小弟的学习笔记,记录下来与大家共享。。。。。。。。。。。。。(偶用的是windows,对linux不是很熟悉呀) Ruby官方网站下载: http://www.ruby-lang.org/en/downloads/ Rails的网站下载: http://rubyforge.org/ 1。到 http://rubyforge.org/projects/instantrails/ 下载Instant Rails 1.4,解压放到D:\InstantRails里面。 2。在我的电脑->属性->高级->环境变量,新建RUBY_HOME

当模型已经存在时,如何运行`rails generate scaffold`?

喜夏-厌秋 提交于 2020-03-13 22:14:41
我是Rails的新手,所以我目前的项目处于一种奇怪的状态。 我生成的第一件事是“电影”模型。 然后我开始更详细地定义它,添加了一些方法等。 我现在意识到我应该使用 rails generate scaffold 来生成它,以便连接诸如路由,视图,控制器等的东西。 我试图生成脚手架,但我收到一个错误,说已存在同名的迁移文件。 现在为我的“电影”创建脚手架的最佳方式是什么? (使用导轨3) #1楼 对于那些使用现有数据库启动rails应用程序的人来说,有一个很酷的gem,名为 schema_to_scaffold 用于生成脚手架脚本。 它输出: rails g scaffold users fname:string lname:string bdate:date email:string encrypted_password:string 从 schema.rb 我们重命名的 schema.rb. 核实 #2楼 Lee Jarvis 回答,这只是命令,例如; 我们已经有一个名为User的现有模型: rails g scaffold_controller User #3楼 这个命令可以做到这一点: $ rails g scaffold movie --skip #4楼 您可以使用 scaffold_controller 并记住传递模型的 attributes

Web开发:我希望得到的编程学习路线图

半腔热情 提交于 2020-03-12 19:57:54
对于一些没有编程经验的人来说,一开始就学习web开发会让人觉得非常困难。因为你的能力处于初始阶段(你根本不知道你缺少哪方面的知识),所以在你能够建立一个任意复杂的网站之前,你可能会认为你需要大概几个月的时间来夯实计算机方面的基础知识。 其实并非如此!web开发和CS是不同的,你完全可以在没有太多计算机基础的情况下开发学习web开发。我这样说,完全是根据我自己的经验。 六个月前,当我开始学习web开发时,我还是一个法律学校的在读学生,而且几乎不懂任何关于编程的东西—仅仅在开始学习的前几个小时了解过一些基本知识。四个月后,我收到了来自Pivotal Labs的offer,接着我离开了法律学校,搬到了旧金山。我非常的幸运地遇到了一位极为优秀导师(从黑客学校获得的收获绝对不能忽视),所以我不认为我的故事非常具有代表性。但是我认为这很清楚的表明那些没有计算机背景的人同样可以成为web开发者,而且它所花费的时间可能比你想像的要少。 这篇博文是为了尝试帮助那些刚开始学习web开发的人们。这里展示了一个大概流程,这个路线图会“告诉你在最初的几月里需要做什么”,它也是我最开始编码所遵循的路线。 写这样一篇博文的想法已经在我脑海里有一段时间了,只是我认为自己知之甚少,所以始终没有提笔。在写这篇文章时我还是觉得自己知道的不限,所以如果你在下面的文章中发现任何错误与不正确的地方,请一定帮我指正。 四个部分

如何在运行时找到方法的定义?

北城余情 提交于 2020-03-12 19:14:04
我们最近遇到了一个问题,即在发生一系列提交后,后端进程无法运行。 现在,我们是优秀的小男孩和女孩,并在每次办理登机手续后都进行了 rake test ,但是由于Rails库加载中的一些奇怪现象,它只发生在我们直接从Mongrel生产模式中运行时。 我追踪了这个错误,这是因为一个新的Rails gem以一种破坏运行时Rails代码中一个狭隘用法的方式覆盖了String类中的一个方法。 无论如何,长话短说,有没有办法在运行时询问Ruby在哪里定义了一个方法? 像 whereami( :foo ) 那样返回 /path/to/some/file.rb line #45 ? 在这种情况下,告诉我它是在类String中定义的将是无益的,因为它被某些库重载。 我不能保证源代码存在于我的项目中,所以对 'def foo' 追求并不一定会给我我需要的东西,更不用说我有 多少 def foo ,有时候直到运行时我都不知道哪一个我可能正在使用。 #1楼 从一个更新的 类似问题 中复制我的答案,该问题为此问题添加了新信息。 Ruby 1.9 有一个名为 source_location的 方法: 返回包含此方法的Ruby源文件名和行号,如果未在Ruby中定义此方法,则返回nil(即本机) 这个宝石被反向移植到 1.8.7 : ruby18_source_location 所以你可以请求方法: m =

REST Web应用程序中的分页

半城伤御伤魂 提交于 2020-03-12 18:45:02
这是 对该问题 的更一般化的表述(省去了Rails的特定部分) 我不确定如何在RESTful Web应用程序中的资源上实现分页。 假设我有一个叫做资源 products ,下列哪一种你认为是最好的办法,为什么: 1.仅使用查询字符串 例如。 http://application/products?page=2&sort_by=date&sort_how=asc 这里的问题是我无法使用全页缓存,而且URL也不是很干净且易于记忆。 2.使用页面作为资源和查询字符串进行排序 例如。 http://application/products/page/2?sort_by=date&sort_how=asc 在这种情况下,看到的问题是 http://application/products/pages/1 不是唯一的资源,因为使用 sort_by=price 可以产生完全不同的结果, 而 我仍然不能使用页面缓存。 3.使用页面作为资源和URL段进行排序 例如。 http://application/products/by-date/page/2 我个人认为使用此方法没有问题,但是有人警告我这不是一个好方法(他没有给出原因,因此,如果您知道 为什么 不建议这样做,请告诉我) 任何 建议,意见,批评都将受到欢迎。 谢谢。 #1楼 在您的应用程序将分页视为一种用于产生同一资源的不同视图的技术的情况下