跳到主要內容

發表文章

最近的文章

undefined method `for' for #<' Devise::ParameterSanitizer:0x00007f0e320f79d0 '>

 NoMethodError in Devise::RegistrationsController#edit 用Devise套件作為系統的帳號管理功能,結果在這個檔案出現錯誤. app/controller/application_controller.rb class ApplicationController < ActionController::Base   # Prevent CSRF attacks by raising an exception.   # For APIs, you may want to use :null_session instead.   protect_from_forgery with: :exception   before_action :configure_permitted_parameters , if: :devise_controller ?   protected   def configure_permitted_parameters     devise_parameter_sanitizer . for ( :sign_up ) { | u | u.permit( :username , :email , :password , :password_confirmation , :remember_me , :avatar , :avatar_cache ) }     devise_parameter_sanitizer . for ( :account_update ) { | u | u.permit( :username , :password , :password_confirmation , :current_password , :avatar ) }   end end   只要將for修正成permit,就可以了. def configure_permitted_parameters    devise_parameter_sanitizer .permit ( :sign_up )  {... }   devise_parameter_sanitizer .permit ( :account_update )  {... } end

How to use docker compose build a ruby on rails container?

在推Ruby on rails協同開發架構時,發現每個人的電腦都不同,有的是windows、有的是linux、有的則是mac,單單為了要讓大家能一起開始,就傷透腦筋,為了解決開發環境一致性的問題,我們採用了docker,想法是:如果有一個能跨越自身的電腦作業系統版本,大家都能共用的環境,如同VM,我們不就可以解決這個問題了;所以有了這個專案。 Github網址: https://github.com/tyRoRteam/dev_docker 如何使用 安裝docker 請先到 Docker官網  安裝適合電腦的版本, 使用windows的朋友需注意必須windows 10 professional版本才裝得起來。 Download git repo $ git clone https://github.com/tyRoRteam/dev_docker.git  Build and Run RoR development docker container $ cd dev_docker $ docker-compose up -d  Login to container  $ ssh -X -p 10022 user@localhost (default username/password: user/user) docker-compose.yml 設定檔 version: '3'  services:  ror_dev:   build: ror_dev/   ports:    - "10022:22"    - "10080:3000"   volumes:    - ./user_home:/home/user    - ./configs/sshd_config:/etc/ssh/sshd_config 在設定檔中,我們開通了本機與container兩個port對接,本機的10022連接container的22 port,讓ssh可以連得進去,另一個就是本機的10080連接container的3000 port,因為rails s預設為3000 port,這樣當container內執行 $ rails s 時,就可以用本機瀏覽器 ht

How to maintain your project source code in GitHub with collaborative development?

一個人的江湖很孤獨 一個人的江湖是孤獨的,寫程式也是,雖然很多高手都是一個人,但是如果能集合多人的力量不是更好嗎?高手難求,但是一個好的團隊卻是可以培養出來的,加入一個好的團隊,大家努力往前爬,不也是一種幸福嗎? 所以,這篇文章就是要說明如何與團隊協同開發系統,協同開發的流程會是怎麼樣子來進行呢? 組織( Organization) 開發團隊或稱為專案團隊,可以視為一個組織,在組織中有許多角色,有專案管理者、程式開發人員.....等,在GitHub中將專案管理者視為專案擁有者(Owner),其他專案開發者(Member),下圖描述說明:組織(organization)名稱為Org X,其中Mark為專案管理者(owner)、Jimmy與Bill都是程式開發人員(member)。 在這個組織中主要維運一個專案(repo_abc),為Jimmy,Bill和Mark共同維護,接下來就以Jimmy觀點來看他怎麼進行維護專案. Step1) 同步 當有需求需要進行程式修改時,先要進行程式碼同步,把OrgX上repo_abc/master最新程式碼抓下來. $ git fetch remote: Enumerating objects: 9, done. remote: Counting objects: 100% (9/9), done. remote: Compressing objects: 100% (4/4), done. remote: Total 5 (delta 2), reused 3 (delta 1), pack-reused 0 Unpacking objects: 100% (5/5), done. From https://github.com/Org_x/repo_abc e795431..d4468d5 master -> origin/master Step2) 同步再上傳 當完成修改準備要push程式碼到Jimmy的GitHub/repo_abc時,記得先再同步一次,確定沒問題再push. $ git add . $ git commit -m "mark PENDING: Not yet implemented&quo

Gradle sync failed: Failed to find Build Tools revision 26.0.2

新建立的Android app專案發生下面錯誤,怎麼解決? Gradle sync failed: Failed to find Build Tools revision 26.0.2 這是因為Gradle版本不支援的關係,所以就讓點選錯誤提示下面的連結啟動安裝/更新就可以。

Gradle sync failed: Could not determine java version from '9.0.1'.

新建立的Android app專案發生下面錯誤,怎麼解決? Gradle sync failed: Could not determine java version from '9.0.1'. 這是因為找不到java path的關係,所以就讓專案知道路徑就可以。 (File -> Project Structure -> Project) JDK location: 把Use embedded JDK(recommended)打勾 /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home

建立自己第一個gem

1. 先要有https://rubygems.org/帳號 2. 安裝環境必要套件 $ gem update --system $ gem install rubygems-update Fetching: rubygems-update-2.7.6.gem (100%) Successfully installed rubygems-update-2.7.6 Parsing documentation for rubygems-update-2.7.6 Installing ri documentation for rubygems-update-2.7.6 Done installing documentation for rubygems-update after 28 seconds 1 gem installed $ update_rubygems 3. 建立gem資料夾 (voteable_shawn) $mkdir voteable_shawn $cd voteable_shawn $mkdir lib 4. 設定檔 voteable_shawn/voteable_shawn.gemspec Gem::Specification.new do |s|   s.name        = 'voteable_shawn'   s.version     = '0.0.0'   s.licenses    = ['MIT']   s.summary     = "This is a voteable gem example!"   s.description = "The voting gem!"   s.authors     = ["Shawn"]   s.email       = 'shawnkuo67@gmail.com'   s.files       = ["lib/voteable_shawn.rb"]   s.homepage    = 'https://rubygems.org/gems/example'