1.Deviseのセッションからidを抜く
current_user.idでOK。簡単。
この実装によって、作品を登録する時の登録者IDをセッションから拾ってこれる事になった。
2.モデル作成時に既存エンティティと1:nの関連をもたせる。
$ rails generate model 新規モデル名 関連させたいモデル名:references でOK。簡単。
明日は作品に対するコメント機能の実装に入ろう!
2011年11月22日火曜日
jQueryのお勉強
多摩美の田所先生の公開資料にてお勉強。ほんとお世話になる。
jQueryでつくる、動きのあるWebページ - 多摩美 メディアリテラシー
View more presentations from Atsushi Tadokro
2011年11月14日月曜日
rails認証プラグイン:Devise導入:その1(インスコ)
認証機能はDeviseより先にmaigo@sekai氏のエントリーを参考にして、プラグインでパスワードの暗号化とsign_inまで実装することに成功(といっても動くだけのサンプルだが)した。
現場ではお客様のシステムに関する問題解決の旗振りや、案件提案を行う役回りばかりなので、こうして認証のイロハを学べるという事は正直なところ楽しい。
さて、認証機能もちょっとだけ触った所で、現在Rails認証プラグインで一番人気のDeviseにチャレンジする事にする。
...13さいの備忘録に、氏が目指す認証の条件が書かれている。見習って私も書くことにする。(参考に氏の導入条件を斜体文字で表現)
1.ログイン時にパスワード認証 (7文字以上英数混在)
...6文字以上でOK。英数混合は条件にいれず。
2.ベーシック認証はイヤ!
2.ベーシック認証はイヤ!
...同意、暗号化認証を実施する。
3.パスワードの有効期限180日
...これは採用を見送る。但し採用できる拡張性は持たせる。
4.ユーザーがパスワードを更新できる。
...必須事項。もちろん。
5.ユーザーがパスワードを忘れた場合は再発行メールを送れる。
...これも必要な機能。
6.管理者のみユーザーを追加できる。
...これは「管理者は、他のユーザを追加できる。他のユーザは自分のみを追加できる」に変更。
7.ユーザーはコントロールのアクション毎のロール許可
3.パスワードの有効期限180日
...これは採用を見送る。但し採用できる拡張性は持たせる。
4.ユーザーがパスワードを更新できる。
...必須事項。もちろん。
5.ユーザーがパスワードを忘れた場合は再発行メールを送れる。
...これも必要な機能。
6.管理者のみユーザーを追加できる。
...これは「管理者は、他のユーザを追加できる。他のユーザは自分のみを追加できる」に変更。
7.ユーザーはコントロールのアクション毎のロール許可
...これも採用、ロール管理できなければ認証の意味なし。
8.(新)Deviseのデフォルトmodelを拡張し、作成したいアプリに必要なカラムにDML発行することが出来る。
9.(新)保存するパス自体が暗号化されている事。
よし、これで導入をしてみる。今日は下準備。
・gemfileに以下を追記
8.(新)Deviseのデフォルトmodelを拡張し、作成したいアプリに必要なカラムにDML発行することが出来る。
9.(新)保存するパス自体が暗号化されている事。
よし、これで導入をしてみる。今日は下準備。
・gemfileに以下を追記
$ gem 'devise'
・bundleインストール
$ bundle install
・generateインストール
$ rails generate devise:install
・config/environmentsのdevelopment.rb と production.rb と test.rbに以下を追加
config.action_mailer.default_url_options = { :host => 'localhost:3000' }・config/routes.rbに以下を追加root :to => "welcome#index"
まずはここまで
2011年11月12日土曜日
涅槃(ねはん)の威力
575のアプリを開発するにあたり、機能として必要なのが縦書き。
探してみると縦書き文庫氏の涅槃(ねはん)というエンジンに出会う。
ページの<head>タグに、以下のエンジン定義を書く
凄い。思わず笑ってしまった程の威力!
探してみると縦書き文庫氏の涅槃(ねはん)というエンジンに出会う。
ページの<head>タグに、以下のエンジン定義を書く
<link charset="utf-8" rel="stylesheet" type="text/css"
href="http://nehan.googlecode.com/hg/nehan2.css" />
<script charset="utf-8" type="text/javascript"
src="http://nehan.googlecode.com/hg/nehan2-min.js"></script>
<script type="text/javascript">
window.onload = function(){
Nehan.LayoutMapper.start();
};
</script>
その後、縦書きしたい箇所を以下のように囲う。
<pre class="lp-vertical lp-width-80 lp-height-400 lp-font-size-20">
縦書きにしたい文章
</pre>
lp-vertical(縦書きの宣言)
lp-width-400(横サイズ)
lp-height-300(縦サイズ)
lp-font-size-16 (フォントサイズ)
これを実装するとこうなる。
凄い。思わず笑ってしまった程の威力!
2011年11月10日木曜日
rails3 PaperClipで大苦戦
Paperclipは2011/11/1現在、比較的人気のあるファイルアップロードプラグインで使いやすいはずなのだが、問題が発生した際のドキュメントがEnglishが多く、日本語が少ない。(導入資料や試してみたメモは沢山日本語も存在。)
2個のエラーが鳴り響く。
Photo/var/folders/rA/rAc9q6yUFES79pX7bGGAPU+++TI/-Tmp-/stream20111110-1205-trvpd7-0.jpg is not recognized by the 'identify' command.
2個のエラーが鳴り響く。
Photo/var/folders/rA/rAc9q6yUFES79pX7bGGAPU+++TI/-Tmp-/stream20111110-1205-trvpd7-0.jpg is not recognized by the 'identify' command.
Photo/var/folders/rA/rAc9q6yUFES79pX7bGGAPU+++TI/-Tmp-/stream20111110-1205-trvpd7-0.jpg is not recognized by the 'identify' command.
どうやら「identigyコマンドが見つからんわ、無いわ」と文句を言っている様子。
早速identifyを探す。
$ which identify
/opt/local/bin/identify
whichの結果をもって、(railsプロジェクトのルート)/config/development.rbに以下を追加
早速identifyを探す。
$ which identify
/opt/local/bin/identify
whichの結果をもって、(railsプロジェクトのルート)/config/development.rbに以下を追加
Paperclip.options[:command_path] = "/opt/local/bin/"
これでOKか......あれ、同じエラーが発生する。3日位、これはハマった。
もっとrailsログの見方と英語を勉強しないと、これから待ち受けるエラーもハマるんだろうなと不安になる始末。
悩んでいるうちにようやく同様の事象で悩む先人を発見。この方は、ImageMagickを再インストールしようとして、更にハマる悪循環にいらっしゃる...でも物は試しと実行。
$ sudo port -d selfupdate
$ sudo port install ImageMagick
....!!
ようやく上手く行った。
参考:
http://d.hatena.ne.jp/hichiriki/20081130
http://matatabi-on-rails.blogspot.com/2010/08/paperclip-rails-3-windows.html
http://d.hatena.ne.jp/ken73/20110608/1307516163
もっとrailsログの見方と英語を勉強しないと、これから待ち受けるエラーもハマるんだろうなと不安になる始末。
悩んでいるうちにようやく同様の事象で悩む先人を発見。この方は、ImageMagickを再インストールしようとして、更にハマる悪循環にいらっしゃる...でも物は試しと実行。
$ sudo port -d selfupdate
$ sudo port install ImageMagick
....!!
ようやく上手く行った。
参考:
http://d.hatena.ne.jp/hichiriki/20081130
http://matatabi-on-rails.blogspot.com/2010/08/paperclip-rails-3-windows.html
http://d.hatena.ne.jp/ken73/20110608/1307516163
2011年11月5日土曜日
HTML5のお勉強
HTML5やCSS3とは何ぞや、と疑問を抱く私が今見ているのは以下のサイト
http://yoppa.org/taumedia11/3232.html
slideshare(PowerPoint版Youtubeみたいなもの)に講義で使わたと思われるスライドがあり、私みたいな学費を払っていない他人であっても閲覧が可能。これは有難いのです。
http://yoppa.org/taumedia11/3232.html
slideshare(PowerPoint版Youtubeみたいなもの)に講義で使わたと思われるスライドがあり、私みたいな学費を払っていない他人であっても閲覧が可能。これは有難いのです。
2011年11月3日木曜日
ImageMagicとRMagickのインストール
railsの写真等ファイルアップロードプラグインで、今一番人気なのがPaperClip.
今日はインストールを実施。
1.ImageMagickのインストール
ImageMagickは100種類以上の画像ファイルフォーマットに対応しているソフトウェアスイート。C言語で書かれている。
各種ライブラリのインストール
$ sudo port install jpeg
$ sudo port install libpng
$ sudo port install libwmf
$ sudo port install tiff
$ sudo port install lcms
$ sudo port install freetype
$ sudo port install ghostscript(このAdobe提供のライブラリだけやたらとCPUパワーを食う。)
ImageMagickのインストール
$ sudo port install ImageMagick
2.RMagicのインストール
RMagicはImageMagicのRubyバインディング版。これを入れないとImageMagicがrailsで使えない。迷わずインストール
$ sudo gem install rmagick
3.PaperClipのインストール
その後、いよいよPaperClipをインストール
プロジェクトのディレクトリに移動し、gemfileに「gem "paperclip"」を追記し、以下を実行。
$ bundle install
Installing paperclip (2.4.5)
おー、導入完了。週末に使ってみよう。
今日はインストールを実施。
1.ImageMagickのインストール
ImageMagickは100種類以上の画像ファイルフォーマットに対応しているソフトウェアスイート。C言語で書かれている。
各種ライブラリのインストール
$ sudo port install jpeg
$ sudo port install libpng
$ sudo port install libwmf
$ sudo port install tiff
$ sudo port install lcms
$ sudo port install freetype
$ sudo port install ghostscript(このAdobe提供のライブラリだけやたらとCPUパワーを食う。)
ImageMagickのインストール
$ sudo port install ImageMagick
2.RMagicのインストール
RMagicはImageMagicのRubyバインディング版。これを入れないとImageMagicがrailsで使えない。迷わずインストール
$ sudo gem install rmagick
3.PaperClipのインストール
その後、いよいよPaperClipをインストール
プロジェクトのディレクトリに移動し、gemfileに「gem "paperclip"」を追記し、以下を実行。
$ bundle install
Installing paperclip (2.4.5)
おー、導入完了。週末に使ってみよう。
登録:
投稿 (Atom)


