[052]Ruby on Rails學習筆記(2)-開始實作

本篇的三大綱要

基本功能

第一個表單

新增文章


在Blog要先創造resource類(像是animals、articles都是當中之一),而resource是類似物件的集合,

接著有可執行項目create,read,update,destroy(CURD)。

首先,在config/router.rb中,

加入“resources:articles”

接著,輸入http://localhost:3000/articles/new

首先出現,沒有controller對應的錯誤,所以得創一個controller,

rails g controller articles,

下一個,會出現錯誤,顯示在controller中,沒有action:new。

然後,我們在controller增加

def new

end

接著,又出現一個錯誤,

首先,缺少的就是articles/newtemplate,Rails 一開始會試著尋找這個相對應的 template ,

如果找不到才會試著載入另一個名為application/new的 template

第二 、:locale決定語系,[:en]就是english

第三、formats: 就是回覆給使用者的格式,這邊就是html

第四、template handler把template render出來,其中 erb最常用於html

就已new.html.erb為例,

html就是format的名稱

erb就是用啥handler來處理



5.2開始第一個表單

app/view/articles/new.html.erb

在使用form_for時,得傳遞一個物件identifier object給這個表單。

在本例子中,這個物件就是用 symbol:article表示

而因為new之後,url會變更,所以得加上一行 “url:articles_path"



5.3 新增文章:

在新增文章的部分加入action:create,

出現了像是之前的missing template

但這裡不同的是,create action還得存取使用者資料,所以用到parameter(參數)的概念,

def create

render plain: params[:article].inspect

end

上述意味,使用key為plain,value是params[:article].inspect的hash,

此外,在parameter的method有一些例子,

http://www.example.com/?username=dhh&email=dhh@email.com

從此url得知,params[:username]=“dhh” and params[:email]=“dhh@email.com"

而再次按下輸入鍵後,會出現以下畫面

{"title"=>"First article!","text"=>"This is my first article."}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容