[052]Ruby on Rails學(xué)習(xí)筆記-(3)-建立模型+顯示文章+認(rèn)證

承接Ruby on Rails學(xué)習(xí)筆記-(2),

接著談到以下四個部分:

create article model

execute Migration

store datas in controller

show article

5.4:create a model

在上篇文中摆屯,提到存取parameters發(fā)生問題情龄,這裡談到

要建立一個model,同時給予儲存欄位的格式眉孩,已便store data

$ bin/rails generate model Article title:string text:text

此告知model凑术,要具備string and text兩種資料型態(tài)碟贾,輸入後會產(chǎn)生一長串資料,

最重要的有兩個:分別是

app/models/article.rb以及

db/migrate/20140120191729_create_articles.rb(時間可能不同悼院,此資料用來建立資料庫結(jié)構(gòu))

接著來看到以下檔案伤为,

classCreateArticles < ActiveRecord::Migration

def change

create_table:articles do |t|

t.string:title

t.text:text

t.timestamps ? null:false

?end

end

end

接著輸入:bin/rake?db:migrate

以執(zhí)行,migration(資料遷移的動作)据途,會顯示article資料表已成功建立的畫面

5.6:Store data in controller

打開app/controllers/articles_controller.rb並且將createaction 內(nèi)容替換成以下:

def create

@article= Article.new(params[:article])

@article.save

redirect_to@article

end

以上首先談到绞愚,Article為大寫原因,在於Ruby的類別中都是大寫颖医,

第一行位衩,new一個新的欄位來存取資料,而@article.save就是文章儲存熔萧。

但是糖驴,修改後會出現(xiàn)以下問題

出現(xiàn)此錯誤,問題在於“Strong parameters”的概念佛致,以防止資料庫的混亂贮缕,

所以得再加上

@article= Article.new(params.require(:article).permit(:title,:text))

最後把conroller修改

def create

@article= Article.new(article_params)

@article.save

redirect_to@article

end

private

defarticle_params

params.require(:article).permit(:title,:text)

end

但是,畫面還是跑不出來俺榆,原因在於show的action與view都還未做好感昼。

所以往後,談到show article 的方法

5.7:Show article

在controller中罐脊,加入action:show抑诸,

@article=Article.new(param[:id])

在view中烂琴,加入@article.title的代碼,顯示文章就告一個段落蜕乡!

5.8:Show all articles

與show很類似奸绷,這裡是加上index action與index的view,

兩句的關(guān)鍵:

defindex

@articles= Article.all

end

<% @articles.each do |article| %>

<%= article.title %>

<%= article.text %>

<%?end?%>

5.9:Create connection

<%=?link_to?'My?Blog',?controller:?'articles'?%>

最關(guān)鍵是层玲,path是可以連接到不同的controller中号醉,已具為例,從welcome連接到articles辛块。

另外畔派,就是在articles folder/下的其他file,就不必再標(biāo)註controller

<%=link_to'New article', new_article_path%>

5.10:Add Authentication

最主要兩個功能润绵,檢視线椰、回報,

首先是尘盼,檢視使用者輸入的格式憨愉,是否符合規(guī)定,假使沒有卿捎,那麼就顯示出錯誤的訊息

以下是view and broswer的介面

new.html.erb


error messages
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末配紫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子午阵,更是在濱河造成了極大的恐慌躺孝,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件底桂,死亡現(xiàn)場離奇詭異植袍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)籽懦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門奋单,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人猫十,你說我怎么就攤上這事览濒。” “怎么了拖云?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵贷笛,是天一觀的道長。 經(jīng)常有香客問我宙项,道長乏苦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮汇荐,結(jié)果婚禮上洞就,老公的妹妹穿的比我還像新娘。我一直安慰自己掀淘,他們只是感情好旬蟋,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著革娄,像睡著了一般倾贰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拦惋,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天匆浙,我揣著相機(jī)與錄音,去河邊找鬼厕妖。 笑死首尼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的言秸。 我是一名探鬼主播软能,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼井仰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起破加,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤俱恶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后范舀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體合是,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年锭环,在試婚紗的時候發(fā)現(xiàn)自己被綠了聪全。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡辅辩,死狀恐怖难礼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玫锋,我是刑警寧澤蛾茉,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站撩鹿,受9級特大地震影響谦炬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一键思、第九天 我趴在偏房一處隱蔽的房頂上張望础爬。 院中可真熱鬧,春花似錦吼鳞、人聲如沸看蚜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽失乾。三九已至,卻和暖如春纬乍,著一層夾襖步出監(jiān)牢的瞬間碱茁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工仿贬, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留纽竣,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓茧泪,卻偏偏與公主長得像蜓氨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子队伟,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容