タグ

2015年7月17日のブックマーク (5件)

  • Ajaxでセレクトボックスの中身が動的に変わるRailsアプリの作り方

    はじめに 親のカテゴリを変更すると、子のカテゴリの中身が動的に変わるセレクトボックスってよくありますよね。 たとえばこんなやつです↓ この動きを実現するごく簡単なサンプルアプリを作ってみたので、今回はそれを紹介します。 対象となるRubyRailsのバージョン 今回のサンプルアプリは以下の環境で動作します。 Rails 4.2.1 Ruby 2.2.1 サンプルアプリのソースコード 今回作ったサンプルアプリはGitHubに置いています。 READMEにセットアップ方法も載せているので、ご自身のローカル環境で動かしてみてください。 ざっくりとした処理の流れ この動きを実現するためにはこういう処理の流れになります。 ユーザーが親カテゴリが変更する JavaScriptのchangeイベントが呼ばれる JavaScriptがサーバーに子カテゴリの一覧を問い合わせる サーバーが子カテゴリの一覧を

    Ajaxでセレクトボックスの中身が動的に変わるRailsアプリの作り方
    h5y1m141
    h5y1m141 2015/07/17
  • RailsでDecoratorを作る意味を調べた - 旧gaaamiiのブログ

    Railsで、モデルの内容をビューに出すときにちょっと加工するみたいな時、そのコードはどこに書けばいいんだ問題。 デザインパターンの一つにDecoratorパターンというのがあって、これを適用させるのが良いらしい。この用途ではactive_decoratorと並んで人気のgem、draperの説明がとてもわかりやすかった。 draperのREADMEで挙げられているのは、Articleという記事のモデルがあり、これの公開状態を表示させる機能を実装するという例だ。これを読み、なぜヘルパーメソッドやモデルに直に実装するんじゃだめなの?という疑問に対する答えを意訳していく。 ヘルパーメソッドを作る場合 ヘルパーメソッドで書くと、こうなる。 # app/helpers/articles_helper.rb def publication_status(article) if article.pub

    RailsでDecoratorを作る意味を調べた - 旧gaaamiiのブログ
    h5y1m141
    h5y1m141 2015/07/17
    "やたら「責務」という単語が頻出することに気付いた。とにかく「おいそれ誰(どのオブジェクト)がやるべきなんだ」というのを強く意識し続けなければいけない" って今、まさに同じことを考えていた
  • model の decorator の話

    最近の sapporo.rb などでは ActiveDecorator など、model の Decorator の話で少し盛り上がっているようだ。view に関わるコードをどう整理するか?という話について、共通見解が定まってきたということだろう。 rails の MVC に沿ってコードを書くと、view 回りがだんだんごちゃっとしてくる。scaffold のように単純に model の property を表示するような view なら良いが、STI のタイプに応じて表示内容を変えるとか、新規登録の場合と更新の場合で表示を変える、ユーザの権限に応じてどこまで情報を見せるか制御するなど、model のデータやセッションのデータに基づく条件分岐と html の描画が絡み合うような場合にこれをどこに書くのか?というのが問題になる。 伝統的な rails のレイヤーわけだと候補としては view

    h5y1m141
    h5y1m141 2015/07/17
    ”しかし、規模が大きくなるにつれて問題が出てくる。原因はhelperがフラットなためだ。このフラットな空間に様々な view 用の メソッドが生えてくると結局管理できなくなる” は凄く納得
  • Draperで驚くほどRailsコードがわかりや少なったよ! 

    Draperって何?Draperは、Model/Controller/View/Helperと異なる第4のレイヤを提供するGemです。 この第4のレイヤは、海外では「Presenter」として分類されています。(正確にもう少し細かい分類があるらしいですが割愛♪) このレイヤを作るメリットは、 model/viewに余計なロジックを書かなくてすむ Helperのメソッドが使われている場所が不明という事態を防ぐ 日ではPresenterレイヤでは、ActiveDecoratorというGemが有名です。ActiveDecoratorもほぼ同じことができます。 Draperの紹介Draperの説明ならRailsCastが一番わかり易かったです(説明は日語に翻訳されています、動画は英語です)↓ #####286 Draper - RailsCasts 1年前の記事ですので、実際に動かしてみると少

    Draperで驚くほどRailsコードがわかりや少なったよ! 
    h5y1m141
    h5y1m141 2015/07/17
    "Helperのメソッドが使われている場所が不明という事態を防ぐ" は最近経験してだいぶツライ目にあったなぁ・・・
  • フリーランスになって意識してきた仕事獲得術 - 40歳からのキャリアチェンジ

    ちょっと釣りっぽいタイトルですがここ1年ほど、自分なりにやってみたフリーランスの案件獲得術みたいなところを振りかえります。 利用する手段 個人的な人脈 人材系のエージェント会社みたいな所 Web系の媒体 売上単価みたいな話 相手を見極める能力は要らない 今後について 利用する手段 フリーランス向けの案件に限定しないかもしれませんが以下3つに大別できそうな気がします。 個人的な人脈 人材系のエージェント会社みたいな所 Web系の媒体 実際この1年の間でこの3つ全てを利用して案件獲得してきたのでそれぞれについて掘り下げてみます 個人的な人脈 会社を退職して年休消化中に書いたエントリで 知り合いのオフィスに訪問 個人事業主の開業届けを出す 元々水面下で決めていたJavaScriptiPhoneアプリ開発をマスターしよう!の講座以外に、以前からの知り合いから、思いがけない提案をいただき、8月から

    フリーランスになって意識してきた仕事獲得術 - 40歳からのキャリアチェンジ
    h5y1m141
    h5y1m141 2015/07/17
    タイトル釣りっぽくなってしまったけど、ブログ書いた。