スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

役に立ったと思ったら下記をクリックお願いします。

今後の更新の励みになります。

にほんブログ村 IT技術ブログ IT技術メモへ

にほんブログ村 IT技術ブログへ

不定期ですが技術ネタを共有して行きますのでもしよろしければ購読いただければと思います

follow us in feedly

スポンサーリンク

Tag:スポンサー広告 

【Rails】Herokuでsitemap_generatorを使う

RailsでSitemapの作成の際によくお世話になっているsitemap_generatorというgemがあるのですが、そちらをherokuで使う方法をメモしておきます。

前提


herokuのインスタンス上には動的に生成されたファイルなどは保持しておけません。恐らくインスタンスに対して一定時間リクエストがない場合スリープ状態になるという仕様から来ていると思います。それくらいインスタンス自体が動的なものなのでファイルなどを動的に生成して置いておくということは出来ないと思っておいたほうがいいです。

sitemapも例外ではありません。

なので今回はS3にsitemapを置いておいてそちらをgoogleに読み込んでもらう方法を紹介します。

事前準備


sitemapを設置するS3のバケットを用意しておいて下さい。

Gemfile





S3にアップロードするためにaws-sdkが必要になります。aws-sdkやsitemap_generatorのバージョンが古めだとこれから紹介する方法が使えないので最新版にしておくといいと思います。僕は地味にこのversionの件でハマりました。

bundle installを忘れずに。

ルーティングの変更


botがsitemapを見に来た時にS3の場所にリダイレクトして上げる必要があるのでroutes.rbを変更します。



config/sitemap.rbの変更





前述の通りsitemap_generatorやaws-sdkのバージョンが低いとSitemapGenerator::AwsSdkAdapterがないと怒られたりしますので気をつけて下さい。

なお、config/s3.ymlに関してはpaperclipというgemを使う際に用意するものです。

Paperclipについては前回のエントリも参考にしてみて下さい。
【Rails】PaperClipで画像がS3に上げられない時の対応

sitemapを更新


いつも通りsitemapを更新すれば大丈夫です。



まとめ


sitemapに限らずですが、本エントリ中にも少し触れましたが、paperclipなどを使ったファイルアップロードなどもherokuの特性を理解して適宜S3に保管するなどの必要があります。それぞれのサービスでいい部分とちょっと工夫が必要な部分があると思うのでいろいろ活用して補完していくのが大切ですね。

役に立ったと思ったら下記をクリックお願いします。

今後の更新の励みになります。

にほんブログ村 IT技術ブログ IT技術メモへ

にほんブログ村 IT技術ブログへ

不定期ですが技術ネタを共有して行きますのでもしよろしければ購読いただければと思います

follow us in feedly

スポンサーリンク

スポンサーサイト
テーマ : プログラミング
ジャンル : コンピュータ

Tag:Rails  Trackback:0 comment:0 

【Rails】PaperClipで画像がS3に上げられない時の対応

paperclipとaws-sdkを最新版に上げたら突然S3に上げられなくなりました
どうやらいろいろな変更があるようなのですが、3段階ぐらいエラーを突破したのでメモしておきます。
何かのお役に立てれば。

NameError (uninitialized constant Aws::VERSION):というエラー


最新のaws-sdkには定義されていない定数のようですね。

config/initializers/aws.rbに下記を追記すれば解決できました。



なんか微妙ですが回避出来てしまいました。。
是非はともかくこんな回避方法があるのかと発見にもなりました。

NoMethodError (undefined method `match' for nil:NilClassというエラー


paperclipのオフィシャルにもある通り下記のファイルを用意するのですが、そこに
config/s3.yml



を追記すれば回避できました。僕の場合は東京リージョンだったので上記となりましたが、適宜読み替えて下さい。

Aws::S3::Errors::InvalidArgumentというエラー


ここまで来ればもう大丈夫だろと思いきや最後に一山ありました。

paperclipを使ってアップロードする画像のサイズやs3のパーミッション、creadentialの設定をmodelに追記するですが、そのパーミッションの指定方法が変更になっているみたいです。



:public_readというシンボルで指定していたものが、public-readという文字列になるようです。

まとめ


paperclipやaws-sdkなどgemを古いままにしていると思いの外ハマるポイントを作ってしまうので適度にverは上げていくのがいいですね。以前ちょっとpaperclipで上記のAws::Versionに関するエラーが出て妥協してバージョンを下げて使っていたツケが今来たという感じです。
古いままのpaperclipとaws-sdkを使っている方はご注意を。

役に立ったと思ったら下記をクリックお願いします。

今後の更新の励みになります。

にほんブログ村 IT技術ブログ IT技術メモへ

にほんブログ村 IT技術ブログへ

不定期ですが技術ネタを共有して行きますのでもしよろしければ購読いただければと思います

follow us in feedly

スポンサーリンク

テーマ : プログラミング
ジャンル : コンピュータ

Tag:Rails  Trackback:0 comment:0 

【Rails】HerokuでFontawesomeがうまく表示されない場合

CSSをいじった時全般のようですが、heroku上で動く場合productionになっていて、productionの場合scssとかのcssが動的にcompileされないからasset類のprecompileが必要というかんじでしょうかね。



デプロイした後何回かCSSが反映されなくてその度に「お」と思ったのでメモ書きしておきます。

役に立ったと思ったら下記をクリックお願いします。

今後の更新の励みになります。

にほんブログ村 IT技術ブログ IT技術メモへ

にほんブログ村 IT技術ブログへ

不定期ですが技術ネタを共有して行きますのでもしよろしければ購読いただければと思います

follow us in feedly

スポンサーリンク

テーマ : プログラミング
ジャンル : コンピュータ

Tag:Rails  Trackback:0 comment:0 

【Rails】Herokuでrakeタスクを実行する

以下簡単なメモです



基本heroku runでいろいろ行けそうなイメージですかね

役に立ったと思ったら下記をクリックお願いします。

今後の更新の励みになります。

にほんブログ村 IT技術ブログ IT技術メモへ

にほんブログ村 IT技術ブログへ

不定期ですが技術ネタを共有して行きますのでもしよろしければ購読いただければと思います

follow us in feedly

スポンサーリンク

テーマ : プログラミング
ジャンル : コンピュータ

Tag:Rails  Trackback:0 comment:0 

【Rails】Ruby on RailsでFontAwesomeを使う

FontAwesome使っていますか?
簡単に言うと画像ではなく文字として作られたアイコンを簡単なhtmlの記法で利用できるようになるものです。
用意されたアイコンの種類はとにかく豊富なのでデザインの出来ないエンジニアだけでプロダクトを作る時に大助かりなサービスです。
また、文字なので画像と違ってとにかく軽いのも魅力です。
まだご利用されていない方はこれを機に使ってみるとそのありがたさが実感できると思います。
今回はRuby on RailsでFontAwesomeを扱う方法のご紹介です。

導入


まずはGemfileにgemを指定します。

そのあとbundle installを実行して下さい

font-awesomeのCSSを読み込むようにapplication.cssを変更


assets/stylesheets/application.css
を編集して下記一行を追加して下さい。

これをしないときちんとfontawesomeをviewで扱うことができません。

Viewで指定のメソッドを実行してfontawesomeのアイコンを表示してみる


font-awesome-railsというgemにはviewファイルの中で簡単にfontawesomeのアイコンが扱えるようにヘルパーメソッドが用意されています。例えば鉛筆マークを表示する場合は下記の様にすれば簡単にviewで表示できるようになります。

ちなみにこの場合、下記のようなhtmlを出力することになります。

fontawesomeにはいろいろなアイコンなどが揃っているので下記を参考にしてみて下さい。(いつもお世話になってます)
http://fontawesome.io/icons/

まとめ


本エントリの冒頭でも触れましたが、デザイナーがまだいないチームや個人でウェブサービスを作るときに大変有用なツールだと思うので是非活用してみて下さい。今回のようにRailsで導入するのは本当に簡単ですが、Railsを使っていない場合でも比較的容易に導入できると思います。
ちなみに過去にAndroidのネイティブアプリでfontawesomeを扱うエントリを投稿していましたので、Androidアプリも開発される方はぜひご参考にして頂ければと思います。

【Android】Android TwitterBootstrapのBootstrapTextにテキストとFontAwesomeIconの両方を設定する方法

また以前herokuを使うことで初期コストを下げてサービスを作るメリットについても書いたのでご興味あれば
herokuについて

参考記事:
https://qiita.com/succi0303/items/7f76d53ebe54dab41124
http://fontawesome.io/icons/

役に立ったと思ったら下記をクリックお願いします。

今後の更新の励みになります。

にほんブログ村 IT技術ブログ IT技術メモへ

にほんブログ村 IT技術ブログへ

不定期ですが技術ネタを共有して行きますのでもしよろしければ購読いただければと思います

follow us in feedly

スポンサーリンク

テーマ : プログラミング
ジャンル : コンピュータ

Tag:Rails  Trackback:0 comment:0 

プロフィール

6rats

Author:6rats
こんにちは、ITベンチャーで働くエンジニアです
主に自分の周りで起きた技術的なことをメモとして書き残して行きます。
Android以外にもRuby/Ruby on RailsやFuelPHPなどなどたまにやります。基本的なスタンスとしては興味があるもしくは必要になったらいろんなことにチャレンジします。
最近はiOSアプリ開発を始めています。

購読
follow us in feedly
個人プロダクト

Androidアプリ

Twitterクライアント

Webアプリケーション

EcPriceWatch(Amazon価格の推移を計測、最安値を知らせるサービス)
Google AdSense
ブログ村
にほんブログ村 IT技術ブログへ
にほんブログ村
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。