Rails

rails之路由

匆匆过客 提交于 2020-01-29 03:40:43
理解路由的目的 看懂routes.rb文件中的代码 使用经典的hash风格或者现在比较流行的Restful风格构造你自己的路径 断定一个路径会映射到哪一个controller和action 1. 路由的双重作用 Rails的路由是一个双重的机制 - 你既能把树木变成纸张,也能把纸张变成树木.更准确的说,它既能将进入服务器的HTTP请求连接到你的controller,也能帮助你(在View内)生成URL而不需要使用硬编码的字符串. 1.1 从URL到代码 当你的Rails应用接收到HTTP请求后,比如: GET /patients/17 Rails的路由引擎就是把请求分发到你的应用中合适点的那些代码.具体到这个例子,应用程序比较可能会运行patients controller中的show action,并展示id是17的patient的详细信息. 1.2 从代码到URL 路由也可以反过来作用.如果你的应用包含了以下代码 @patient = Patient.find(17) <%= link_to “Patient Record”, patient_path(@patient) %> 那么,路由引擎就会把这段代码解释成这样的URL: http://example.com/patients/17.这样使用路由,比起硬编码URL,可以降低你的应用程序的脆弱程度(增加程序健壮性)

gitlab服务部署及使用

狂风中的少年 提交于 2020-01-28 09:53:27
一本正经的搞事情 改变懒惰,成就心中的自己,并非难事 博客园 首页 新随笔 联系 管理 订阅 随笔- 40 文章- 0 评论- 5 gitlab服务部署及使用 目录 一、什么是gitlib 二、实现的原理 三、Gitlab的服务构成 四、Gitlab的优点 五、安装配置gitlab 5.1. 安装依赖包 5.2. 启动postfix,并设置开机自启 5.3. 设置防火墙 5.4. 下载安装gitlab rpm包 5.5. 修改配置文件gitlab.rb 5.6. 重新加载配置文件 5.7. 查看gitlab版本 六、汉化配置 6.1.下载最新汉化包 6.2. 停止服务 6.3. 切换到gitlab汉化包所在的目录 6.4. 比较汉化标签和原标签,导出 patch 用的 diff 文件到/root下 6.5. 将10.0.2-zh.diff作为补丁更新到gitlab中 6.6. 启动gitlab并重新配置gitlab 七、设置发邮件功能 7.1. 修改配置文件 7.2. 重新加载配置并重启服务 八、测试使用 回到顶部 一、什么是gitlib   Gitlab 是一个基于Git实现的在线代码仓库托管软件,你可以用Gitlab自己搭建一个类似于Github一样的系统平台,一般搭建gitlab私服就是用在公司的内部   Gitlab 功能就是能够对代码的提交审核和问题跟踪

Ruby On Rails——安装

淺唱寂寞╮ 提交于 2020-01-27 18:48:10
Ruby On Rails 在安装时候可以有两种解决方法。 一、直接安装 我们可以去Ruby On Rails的官方网站上进行下载 下载地址: http://rubyonrails.org/ 下载完成后直接安装即可,不能安装在带中文的路径下否则运行不正常。 二、可以使用 Instant Rails 集成安装环境 Instant Rails是一个集成Ruby、Rails、Apache、Mysql的集成包,下载完成后可以简单的解压缩至你们需要的目录下面。不支持中文路径及带空格的路径,不需要进行安装与任何的配置。 下载地址: http://rubyforge.org/projects/instantrails/ 在学习过程中我使用的也是Instant Rails ,所以在后面的运行过程中也使用它来做记录。解压缩Instant Rails后,启动“I” InstantRails即可,如下图所示: 来源: https://www.cnblogs.com/caitou/archive/2009/03/23/1420001.html

Ruby On Rails——安装

穿精又带淫゛_ 提交于 2020-01-27 03:34:24
Ruby On Rails 在安装时候可以有两种解决方法。 一、直接安装 我们可以去Ruby On Rails的官方网站上进行下载 下载地址: http://rubyonrails.org/ 下载完成后直接安装即可,不能安装在带中文的路径下否则运行不正常。 二、可以使用 Instant Rails 集成安装环境 Instant Rails是一个集成Ruby、Rails、Apache、Mysql的集成包,下载完成后可以简单的解压缩至你们需要的目录下面。不支持中文路径及带空格的路径,不需要进行安装与任何的配置。 下载地址: http://rubyforge.org/projects/instantrails/ 在学习过程中我使用的也是Instant Rails ,所以在后面的运行过程中也使用它来做记录。解压缩Instant Rails后,启动“I” InstantRails即可,如下图所示: 来源: https://www.cnblogs.com/stalwart/archive/2010/09/29/1838869.html

How to Generate PDF in Ruby on Rails(HowtoGeneratePDFs) ZT

一笑奈何 提交于 2020-01-25 18:40:44
本文转载自: https://www.cnblogs.com/hardrock/archive/2006/07/24/458184.html 作者:hardrock 转载请注明该声明。 This howto covers seven approaches to generating a PDF document with Rails. HTMLDOC PdfWriter PDF ::Writer (Austin Ziegler) Ruby FPDF JasperReports PDF Form Fill PDFlib and PDFlib-Lite Rfpdf Using HTMLDOC The sample code below requires HTMLDOC . #in controller def pdf @article = Article.find(@params["id"]) add_variables_to_assigns generator = IO.popen("htmldoc -t pdf --path \".;http://#{@request.env["HTTP_HOST"]}\" --webpage -", "w+") generator.puts @template.render("article/pdf") generator.close_write

如何反转“轨道生成”?

寵の児 提交于 2020-01-24 18:01:37
即删除它创建的所有文件并回滚所做的任何更改? 不一定要进入数据库,而是更多地进入配置文件。 例如,自动删除在routes.rb文件中删除的模型/控制器以及可能进行了其他更改的所有其他地方的所有资源映射? 谢谢。 #1楼 您可以使用 rails d model/controller/migration ... 破坏或删除使用rails generate命令生成的更改。 示例: rails g model Home name:string 用属性 name 创建一个名为 home 的模型。 要删除从该命令生成的文件和代码,我们可以使用 rails d model Home 命令。 #2楼 这是在Rails中生成或破坏控制器或模型的原型。 rails generate/destroy controller/model [controller/model Name] 例如,如果您需要生成用户控制器 rails generate controller User 要么 rails g controller User 如果要销毁用户控制器或恢复上述操作,则 rails destroy controller User 要么 rails d controller User #3楼 您可以使用以下方法还原 rails g/generate controller/model/migration xxx

rails simple_captcha 验证码实现

﹥>﹥吖頭↗ 提交于 2020-01-24 06:22:55
  用到的gem有   gem "galetahub-simple_captcha", :require => "simple_captcha"   gem "mini_magick"   执行bundle   重写devise的controller方法   devise_for :users,    :controllers => { :sessions => "devise_hack/sessions",:registrations => "devise_hack/registrations" },   :path_names => { :sign_in => 'login', :sign_out => 'logout', :sign_up => 'sign_up'}   执行下面命令安装simple_captcha rails generate simple_captcha rake db:migrate 生成_simple_captcha.html.erb文件,该文件为验证码的局部视图模板。 修改局部视图,添加一个切换验证码 链接 <div class='simple_captcha' id="simple_captcha"> <div class='simple_captcha_image' id="simple_captcha_image"> <%= simple

ruby 数据sql操作

北城余情 提交于 2020-01-22 11:02:46
ActiveRecord ActiveRecord 是 Rails 的 ORM 元件,負責與資料庫溝通,讓我們可以用物件導向的語法操作資料庫。在”打造 CRUD 應用程式”一章中提到的對應概念如下: 將資料庫表格(table) 對應到一個類別(classe) 類別方法就是操作表格(table) 將資料庫一列 (row) 對應到一個物件(object) 物件方法就是操作個別的資料(row) 將資料庫欄位(column) 對應到物件的屬性(object attribute) 因此,資料庫裡面的資料表,我們用一個 Model 類別來表示,而其中的一筆資料,就是一個 Model 物件。 ActiveRecord 這個函式庫實作了 Martin Fowler 的 Active Record 設計模式(Design Pattern) http://martinfowler.com/eaaCatalog/activeRecord.html ORM 與抽象滲漏法則 ORM (Object-relational mapping ) 是一種對映設關聯式資料與物件資料的程式技術。物件導向和從數學理論發展出來的關聯式資料庫,有著顯著的區別,而 ORM 正是解決這個不匹配問題所產生的工具。它可以讓你使用物件導向語法來操作關聯式資料庫,非常容易使用、撰碼十分有效率,不需要撰寫繁瑣的SQL語法,同時

Gitlab部署及基础配置

北慕城南 提交于 2020-01-13 00:31:06
Gitlab安装 基础包安装 yum install -y curl policycoreutils-python openssh-server systemctl enable sshd systemctl start sshd firewall-cmd --permanent --add-service=http systemctl reload firewalld 安装 postfix yum install postfix systemctl enable postfix systemctl start postfix 添加Gitlab包的yum库 curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 安装gitlab EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ce vi /etc/gitlab/gitlab.rb 修改 EXTERNAL_URL=“http://IP:port” 汉化 下载最新汉化包 git clone https://gitlab.com/xhang/gitlab.git 下载指定版本汉化包 git clone https:/

学习Ruby on Rails的第五天

天涯浪子 提交于 2020-01-08 20:45:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今天开始搞重置密码这一功能,大部分功能都和前面的类似,但是这个重置密码的集成测试。。。 看是能看懂,但是要从0写的话。。。 与会话和账户激活一样,密码重设虽然没有对应的 Active Record 对象,但也可以看做一个资源, 还有那个超时的比较,为什么 reset_sent_at < 2 . hours . ago 表示的是大于两小时 △x表示发送密码重设邮件后经过的时间, △y表示限制的失效时长。 如果邮件发出经过的时长大于限制的失效时长,即: △x>△y -----① 那么如果用z表示现在的时间,x表示发送邮件的时间,y表示邮件的失效时间,那么显而易见 △x=z-x -----② △y=z-y -----③ 将②③带入①中得: z-x>z-y -----④ 两边同时 -z 得 -x>-y -----⑤ 即: x<y 前面说了,y表示邮件失效的时间,即题目中说的两小时之前, 2 . hours . ago. 而x表示发送邮件的时间, reset_sent_at 即: reset_sent_at < 2 . hours . ago 表示的是大于两小时 所以,我把自己也说“明白了” 道理我都懂,但是为什么是大于两小时(滑稽狗头)?? 来到了第13章,用户的微博,在前面,我们吧注册,登录