原创 rails中使用郵件激活賬戶

生成郵件程序模版 rails generate mailer UserMailer account_activation password_reset 開發環境中的郵件配置 config.action_mailer.rai

原创 ruby中布爾類型字段的非空校驗

無法用validate_presence_of來對boolean類型字段進行非空校驗 migration代碼 class CreateCorporateFinancials < ActiveRecord::Migration

原创 日常開發技巧(一)

rails console使用技巧 console是我喜歡上rails的原因之一,可以加載rails環境,可以快速的進行測試和調試。 常見用法 Rails Console 竅門 清空 Console Mac

原创 git 將指定commit合併到指定的分支中

查看兩個分支之間的改變,並將結果保存起來 git diff commit_id1 commit_id2 >> update.diff 合併某個commit到指定分支 git log # 查看commit_id git checkout

原创 rails返回上一次訪問的頁面

最近在做個人網站的時候遇到這個問題,之前習慣使用redirect_to :back,當前使用rails 5.1.4,拋出錯誤undefined method 'back_url',原來rails5.1需要使用redirect_back訪問

原创 爲所有model添加通用的方法

業務代碼中,我們經常會用到各種狀態、類型表,通過判斷狀態或類型來設計業務邏輯。比如說我們有訂單orders和訂單狀態order_statuses,當訂單爲草稿狀態時可以繼續往下操作,常見的判斷: if order.order_status

原创 git使用筆記-標籤

發佈新的版本時,經常會給版本打上標籤,標籤的用法如下: 列出已有的標籤:直接運行git tag; 查找某個大版本的標籤:git tag -i 'v2.*'; 新建標籤:git tag -a v1.0 -m 'my version 1.0

原创 MiniTest學習筆記

當前rails版本爲5.1.4,本身自帶MiniTest. 當我們執行rails g model customer時,會自動生成test/models/customer_test.rb和test/fixtures/customers.y

原创 vim使用技巧

顯示TAB製表符 :set list TAB 隱藏製表符 :set nolist 顯示行號 :set nu 隱藏行號 :set nonu 將文件中的TAB製表符替換成空格 :set ts=2 :set noexpand

原创 I18n實現中英文切換

Rails I18n API框架提供了 Rails 應用國際化/本地化所需的全部必要支持,可以很容易的實現網站語言的切換。 配置I18n模塊 Rails 會把 config/locales 文件夾中的 .rb 和 .yml 文件自動添加到

原创 Ubuntu 16.04上使用Nginx Passenger 部署 Rails

本文參照Ruby China的教程,在阿里雲ubuntu 16.04上部署自己的rails應用,逐步列出遇到的問題及其解決方案 創建賬號 以root賬戶登錄服務器,運行: $ useradd -m -s /bin/bash deploy

原创 git使用筆記-分支

本地建立跟蹤遠程的分支 工作中,我們的hotfix分支暫時不能合併,但是需要放到測試環境,我們可以這樣做: 首先,push自己的hotfix分支: git push origin hotfix/tax_rate_managemen

原创 devise實現用戶登錄

gem安裝 Gemfile 文件中添加 gem 'devise',執行bundle install run the generator rails g devise:install 執行之後需要完成以下四步。 在config/env

原创 rails5.1 belongs_to關聯數據必須存在

# app/models/order.rb class Order < ApplicationRecord belongs_to :payment end # app/models/payment.rb class Payment

原创 rails程序中加載js

常用的方式有兩種: 1. 直接在view中寫javascript代碼; 2. 通過Asset Pipeline加載app/assets/javascripts中的js文件 對於第一種方式,我的習慣做法是在app/views/layou