Web備忘録

プログラミングを中心に技術的な事柄を忘れないように書き残します。

[Yesod] ログの出力

Yesodでコマンドライン上にログを出力する方法 Yesodでログを出力するには$(logInfo)を使います。 ログはコマンドライン上に表示されます。 getLogR :: Handler Html getLogR = do $(logInfo) "ログです ..." defaultLayout $ [whamlet|<p>logを出力しました ...|] 使い方は上の用な感じです。

続きを読む ⇒

[Yesod] Jsonを返す

Jsonを返すリソース まずは適当なjsonを返すように定義してみます。 getJsonR :: Handler Value getJsonR = jsonToRepJson $ object ["data" .= ("val" :: Text)] 型を Handler Value とします。 jsonToRepJsonでobjectで作ったデータをJsonとして返している... みたいな感じです。 参考にしたURLここなんですが、型をHa ...

続きを読む ⇒

[Yesod] StaticR, 静的ファイル(js,css)の読込

Viewからの読込 YesodでCSS/Javascripを使用する場合、Shakespearean TemplatesのCassius(CSS) / Lucius(CSS) / Julius(Javascript) を使うことができます。ただし通常のjavascriptファイルやcssファイルを読み込んで使用したい場合は、StaticRを使ってパスを指定できます。 今回は次のjavascriptファイルを作成し、読み込みます。単純ですが。 static/js/test ...

続きを読む ⇒

[Yesod] PostgreSqlの使い方

テンプレートからプロジェクトの作成 まずはStackのテンプレートを使用してプロジェクトを作成します。テンプレートにはyesod-postgresを使用します。 $ stack new my-project yesod-postgres PostgreSQLの設定 とりあえず適当にPostgreSQLをインストールしておきます。それから使用するユーザー、データベースを作成しておきます。Yesodのプログラムから作成したDBに接続してみます。 仮にいま、db名 ...

続きを読む ⇒

[Yesod入門(9)] DB操作4, データ削除

ルートの追加 今回は一覧からデータを削除をできるようにしてみます。まずはrouteを追加します。削除はPOSTで削除対象のIdを受け取り処理します。 config/routes /ArticleDelete ArticleDeleteR POST フォームはInputFormで実装してみます。Idのみの送信なのでこのほうが簡単です、たぶん。 Handler/ArticleList.hs module Handler.ArticleList where ...

続きを読む ⇒