2015年10月27日 星期二

rails permit是甚麼意思?

請看以下程式碼中間這段
params.require(:user).permit(:first_name, :last_name, :email, :password)

private
  def user_params(藍色字體標示)
    params.require(:user).permit(:first_name, :last_name, :email, :password)
  end

params.require(Model名稱).permit(Model欄位1,Model欄位2, ...)
翻成中文params.需要(:user).予許(:first_name...)
也就是說去資料庫撈user這個table裡面的first_name、last_name、email、password欄位資料

P.S. 
rails寫法經常把參數封裝起來取個名稱(user_params)並且變成私有(private)

延伸閱讀:
綠色這段@user=User.new(user_params) ←新增時呼叫private裡面user_params方法並指向@user這個變數

class UsersController < ApplicationController
  def new
    @user = User.new
  end

 def create 
   @user = User.new(user_params) 
   if @user.save 
     session[:user_id] = @user.id 
     redirect_to '/' 
   else 
     redirect_to '/signup' 
   end 
 end  

 private
   def user_params
     params.require(:user).permit(:first_name, :last_name, :email, :password)
   end  
end

2015年10月14日 星期三

Unable to download data from https://rubygems.org/ - SSL_connect

If you use Windows and come across the problem.
Unable to download data from https://rubygems.org/ - SSL_connect

Running this Command Line:
gem source -a http://rubygems.org/

Unable to run mksdcard SDK tool

Install Android Studio in Ubuntu

Problem:
Unable to run mksdcard SDK tool

Answer:
$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6

2015年10月13日 星期二

如何用Chrome看原始碼使用哪些event名稱

開啟Chrome開發者工具Chrome 開發者工具有這個功能:
event listener

直接在 Chrome 的 source panel 裡面改 Javascipt,各個可疑的地方加上 console.log 或是 debuggercmd + s 立即生效,也不用 reload。

2015年10月5日 星期一

如何在Heroku上安裝和設定MySQL

1.在Heroku的billing上設定信用卡號(強制要設定卡號才能安裝MySQL但可以選不用付費)
2.Add-one安裝clearDB(這是Heroku裡面MySQL的名字)
3.更改dbname、dbuser、dbpassward
4.使用Heroku的指令操作MySQL

暫時筆記一下 待續....Coming Soom....

2015年10月1日 星期四

Cloud9沒有人用就連不上

用一陣子cloud9後發現過幾個小時伺服器的服務會自動關掉,變成網站連不上。
這樣每次使用網站要手動開啟服務有點麻煩(鎖碎但又很重要),後來我決定使用
Heroku。雖然剛開始連上網站有點慢,可是服務永遠都開啟,不會網站沒有人用就連不上的問題。

在Cloud9裡面的Terminal輸入少數幾行指令,就可以把程式上傳到Heroku。
$ heroku login
$ heroku create    執行後下面顯示免費網址給你使用
Creating sharp-rain-871... done, stack is cedar-14
http://sharp-rain-871.herokuapp.com/ | https://git.heroku.com/sharp-rain-871.git
Git remote heroku added

$ git add .
接著執行下面三行,因為我是用純PHP(Native PHP)沒有composer,所以要產生
有括號的composer.json檔案上傳上去Heroku支援的PHP server才有作用。
$echo '{}' > composer.json       <--- 這指令的意思是產生composer.json檔並在檔案裡面{}大括號
$git add composer.json
$git commit -m "add composer.json for PHP app detection"

$ git push heroku master
$ heroku ps:scale web=1
$ heroku open

完成後把Heroku提供免費網址連進去試試。

p.s.
Heroku也是免費雲端伺服器,但沒有程式開發IDE。只是單純的把程式上傳上去,就自動會跑了。不用去裝Apache、Nginx、PHP...等