從Rails到erlyweb 筆記

2021-08-29 07:02:24 字數 1455 閱讀 6720

寫了幾個月的rails,終於開始把專案移植到erlyweb,這個筆記將記錄移植過程中的一些常見問題,主要是rails和erlyweb的同與不同。

1. 怎樣處理params

rails:

ruby **

p = params.fetch(:p,

"1")

s = params.fetch(:s, @@records_per_page)

p = p.to_i   s = s.to_i  

erlyweb:

mymodel_controller.erl:

js **

-module(mymodel_controller).  

-define(records_per_page, "9").  

-export([get/1]).  

get(a) ->  

%% a是yaws傳進來的arg, 包含了使用者請求的所有內容  

p = yaws_params:getopt("p", a, "1"),  

s = yaws_params:getopt("s", a, ?records_per_page),  

page = list_to_integer(p), %% erlang裡string就是list  

size = list_to_integer(s),  

%% 查詢表mymodel的記錄  

records = mymodel:find_range((page - 1) * size, size),  

%% 返回plain text形式的記錄  

]}.  

-module(yaws_params).      -export([            getopt/2,            getopt/3           ]).      getopt(key, arg) ->       getopt(key, arg, undefined). %% ruby裡有nil, erlang裡有undefined      %% usage: getopt(key, arg, default)   getopt(key, arg, default) ->       params = yaws_api:parse_query(arg), %% in form of [, ] etc.       case lists:keysearch(key, 1, params) of           false ->               default;            ->               val = element(2, tuple), %% erlang裡element從1開始計數               if                   val == undefined -> default;                   true -> val               end       end.  

[to be continued]

2020 Python從入門到不放棄自學筆記3

迴圈結構練習 原題為判斷乙個輸入的數值是不是質數 我把這個題目加以改造,迴圈生成所有質數 使用了 while for迴圈結構 x 2 定義初始值 prime 定義乙個空列表 while x 0 無限迴圈,此處也可以用while true y 0 定義初始可整除次數 for i in range 2 ...

2020 Python從入門到不放棄自學筆記4

今日練習 實現將乙個正整數反轉,例如 將12345變成54321 書上的標準答案 正整數的反轉 version 0.1 author 駱昊 num int input num reversed num 0while num 0 reversed num reversed num 10 num 10 ...

Rails儲存庫從SVN轉向Git

在ruby on rails 2.1版本發布的前夕,rails開發團隊也準備將 的儲存庫從subversion遷移到git之上。在ruby on rails的官方部落格裡,dhh寫到 u0026 xd n u0026 xd n 我們準備將rails開發的 儲存庫從subversion遷移到git之上...