ruby on rails筆記和理解

正版小火爐發表於2018-05-14

一、關於我對model的理解

一個model對應的就是資料庫中的一張表,@users=User.all就是返回控制器User對應的表中的所有記錄,並將結果賦值給變數users。

@users = User.all

這條語句讓 User 模型從資料庫中檢索所有使用者
,然後把結果賦值給 @users 變數。User 。具體而言,使用 Rails 中
名為 Active Record 的庫後,User.all 就能返回資料庫中的所有使用者。

二、ruby中的@

Ruby 支援五種型別的變數:

一般小寫字母、下劃線開頭:變數(Variable)。

$開頭:全域性變數(Global variable)。

@開頭:例項變數(Instance variable)。

@@開頭:類變數(Class variable)類變數被共享在整個繼承鏈中

大寫字母開頭:常數(Constant)。

例如上面一中的@users就是一個例項變數,對應的類是User類。

三、link_to方法

link_to 方法是 Rails 內建的檢視輔助方法之一,用於建立基於連結文字和地址的超連結。我的理解是

四、view獲取url引數、view傳遞引數到控制器

  <%= link_to 'Yes', { :action => 'vote', :id => poll[:id], :answer => 'yes', :project_id => request.GET['project_id'] }, :method => :post %> (<%= poll.yes %>) /

路由對應的為:

post 'polls/:id/vote', :to => 'test#vote'

備註:這裡的request.GET[‘project_id’]

最後跳轉的連結為:

/polls/2/vote?answer=yes&project_id=test

五、控制器獲取view傳遞過來的引數並列印除錯

獲取view傳遞過來的引數:

p params[:answer]
p params[:project_id]

列印除錯:

p print puts

相關文章