最小物聯網系統(五)——Laravel RESTful模板化
下面這部分來自於之前的部落格,這裡就不多加論述了。
這個也就是我們要的模板,
修改Create()
public function create() { $maxid=Athomes::max('id'); return View::make('athome.create')->with('maxid',$maxid); }
這裡需要在app/views/建立一個athome裡面建立一個create.blade.php,至於maxid,暫時還不需要,後面會用到show。如果只需要模板,可以簡化為
public function create() { return View::make('athome.create'); }
這裡只是對其中程式碼的進行一下說明。
建立表單
建立表單之前
由於使用到了bootstrap以及bootstrap-select,記得新增css。
<link rel="stylesheet" type="text/css" href="<?= url('css/bootstrap.min.css') ?>" /> <link rel="stylesheet" type="text/css" href="<?= url('css/bootstrap-select.min.css') ?>" />
以及javascript
<script type="text/javascript" src="<?= url('js/jquery.min.js')?>"></script> <script type="text/javascript" src="<?= url('js/bootstrap.min.js') ?>"></script> <script type="text/javascript" src="<?= url('js/bootstrap-select.min.js') ?>"></script> <script> $('.selectpicker').selectpicker(); </script>
建立表單
這裡用到的是之前提到的那個作者寫下的,稍微修改了一下。
<div class="row-fluid"> {{ HTML::ul($errors->all()) }} {{ Form::open(array('url' => 'athome')) }} <div class="form-group"> {{ Form::label('led1', '開關1') }} {{ Form::select('led1',array('關','開'),$selected=NULL,array('class'=>'selectpicker')) }} </div> <div class="form-group"> {{ Form::label('sensors1', 'sensors1') }} {{ Form::text('sensors1', Input::old('sensors1'), array('class' => 'form-control')) }} </div> <div class="form-group"> {{ Form::label('sensors2', 'sensors2') }} {{ Form::text('sensors2', Input::old('sensors2'), array('class' => 'form-control')) }} </div> <div class="form-group"> {{ Form::label('temperature', 'temperature') }} {{ Form::text('temperature', Input::old('temperature'), array('class' => 'form-control')) }} </div> {{ Form::submit('Create!', array('class' => 'btn btn-primary')) }} {{ Form::close() }} </div>
開關一開始打算用checkbox,加上bootstrap-switch實現
ON OFF
弱弱地覺得還是沒掌握好的節奏,所以最後用select來實現。
還需要修改一下之前的create(),新增一行
return Redirect::to('athome');
也就是新增完後,重定向到首頁檢視,最後例子給出的create如下
public function store() { $rules = array( 'led1'=>'required', 'sensors1' => 'required|numeric|Min:-50|Max:80', 'sensors2' => 'required|numeric|Min:-50|Max:80', 'temperature' => 'required|numeric|Min:-50|Max:80' ); $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { return Redirect::to('athome/create') ->withErrors($validator); } else { // store $nerd = new Athomes; $nerd->sensors1 = Input::get('sensors1'); $nerd->sensors2 = Input::get('sensors2'); $nerd->temperature = Input::get('temperature'); $nerd->led1 = Input::get('led1'); $nerd->save(); Session::flash('message', 'Successfully created athome!'); return Redirect::to('athome'); } }
編輯edit
完整的blade模板檔案
<!DOCTYPE html lang="zh-cn"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <meta name="keywords" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content=""> <title>@yield('title')</title> <link rel="stylesheet" type="text/css" href="<?= url('css/bootstrap.min.css') ?>" /> <link rel="stylesheet" type="text/css" href="<?= url('css/bootstrap-select.min.css') ?>" /> <link rel="stylesheet" href="<?= url('css/justified-nav.css') ?>" type="text/css" media="screen" /> </head> <body> <div class="container"> <div class="container"> <div class="row-fluid"> <h1>Edit {{ $athome->id }}</h1> <!-- if there are creation errors, they will show here --> {{ HTML::ul($errors->all()) }} {{ Form::model($athome, array('route' => array('athome.update', $athome->id), 'method' => 'PUT')) }} <div class="form-group"> {{ Form::label('led1', '開關1') }} {{ Form::select('led1',array('關','開'),$selected=NULL,array('class'=>'selectpicker')) }} </div> <div class="form-group"> {{ Form::label('sensors1', '感測器1') }} {{ Form::text('sensors1', Input::old('sensors1'), array('class' => 'form-control')) }} </div> <div class="form-group"> {{ Form::label('sensors2', '感測器2') }} {{ Form::text('sensors2', Input::old('sensors2'), array('class' => 'form-control')) }} </div> <div class="form-group"> {{ Form::label('temperature', '溫度感測器') }} {{ Form::text('temperature', Input::old('temperature'), array('class' => 'form-control')) }} </div> {{ Form::submit('Edit the Nerd!', array('class' => 'btn btn-primary')) }} {{ Form::close() }} </div> </div> <div class="footer"> <p>© Company 2013</p> </div> </div> </div> <script type="text/javascript" src="<?= url('js/jquery.min.js')?>"></script> <script type="text/javascript" src="<?= url('js/bootstrap.min.js') ?>"></script> <script type="text/javascript" src="<?= url('js/bootstrap-select.min.js') ?>"></script> <script> $('.selectpicker').selectpicker(); </script> <script type="text/javascript" src="<?= url('js/log.js') ?>"></script> </body> </html>
首頁index
參考之前的Laravel+Angularjs+D3打造視覺化資料,RESTful+Ajax。
怎樣?
Powerful RESTful
相關文章
- 最小物聯網系統(四)——詳解Laravel的RESTfulLaravelREST
- 最小物聯網系統(三)——建立RESTfulREST
- 最小物聯網系統(二)——RESTful(一)Laravel安裝與資料庫設定RESTLaravel資料庫
- 最小物聯網系統——Dashboard
- 最小物聯網系統設計——給Laravel新增測試Laravel
- 最小物聯網系統(六)——Ajax打造視覺化視覺化
- 最小物聯網系統(九)——Android客戶端Android客戶端
- 最小物聯網系統(七)——與伺服器通訊伺服器
- 最小物聯網系統(八)——與微控制器通訊
- 縱論物聯網(五):除了Linux,還有什麼物聯網作業系統Linux作業系統
- 物聯網作業系統列表作業系統
- 騰訊物聯網作業系統正式開源,最小體積僅1.8KB作業系統
- 物聯網系統時代:iOS、安卓拜拜?iOS安卓
- 縱論物聯網(六):基於Linux的物聯網作業系統Linux作業系統
- 物聯網資料卡系統原始碼——物聯網技術架構圖原始碼架構
- 01-物聯網專案-物美智慧-系統搭建
- 物聯網應用之 - 智慧搜尋系統
- 物聯網資料卡系統原始碼——物聯網的主要應用領域原始碼
- 當物聯網系統出現故障:使用低質量物聯網資料的風險
- 五大物聯網網路安全錯誤
- 物聯網作業系統安全性分析作業系統
- AliOS Things物聯網作業系統iOS作業系統
- 物聯網開發系統有什麼作用?
- 物聯網+分析,打造穩定可靠的電網系統
- 水庫雨量、流量實時監測物聯網系統
- MQTT 安全解析:構建可靠的物聯網系統MQQT
- 物聯網作業系統已現中國時機作業系統
- 渝企研發物聯網平臺系統“章魚”
- 想做物聯網路卡系統 是因為不想忍
- 三星要在物聯網領域KO蘋果:4月將公佈物聯網作業系統蘋果作業系統
- 三星4月將公佈物聯網作業系統 要在物聯網領域KO蘋果作業系統蘋果
- 智慧消防給水物聯網系統,視覺化監控預警,智慧化運維管理視覺化運維
- 物聯網【專案開發】開源系統開發
- 物聯網時代,智慧家居系統的具體介紹
- 5分鐘課程:物聯網的系統設計
- 工業物聯網智慧儲能系統解決方案
- NB-IOT物聯網系統的安全架構架構
- 農田水利工程物聯網系統解決方案