Hatena::ブログ(Diary)

日常茶飯事 このページをアンテナに追加 RSSフィード

2009-01-26

Twitter

| 20:51 | Twitterを含むブックマーク

screenshot

だいたいTwitter自体、入ってもなかったし・・・

どんなサイトかも知らなかったし・・・

(□。□-) フムフム

つぶやきをサイトにしたのね。

おおお、ということで参加してみる。

ああ、やっぱ友達づくりからかヤッパリ。

このへん、なんか救う手がないだろうか?

すぐに友達できる場だよなぁ・・・。

日常茶飯事的 Rails スケルトン

| 19:41 | 日常茶飯事的 Rails スケルトンを含むブックマーク

restful-authentication プラグインを使ってログインアプリケーション作る(1)

screenshot

restful-authentication プラグインを使ってログインアプリケーション作る(2)

screenshot

の内容と

screenshot

の内容をあわせたもの。

両サイトに多謝!!!

私オリジナルでは、ありませんよ!!

プロジェクトの作成

% rails sample

各種プラグイン

restful-authentication
% ruby script/plugin install git://github.com/technoweenie/restful-authentication.git
aasm
% ruby script/plugin install git://github.com/rubyist/aasm.git
forgot_password
% ruby script/plugin install git://github.com/greenisus/forgot_password.git

Generate

sessions_controller と user モデルを作成
% ruby script/generate authenticated user sessions --include-activation --aasm
passwords_controller と password モデルを作成
% ruby script/generate forgot_password password user

ソースの編集

vendor/plugins/restful-authentication/init.rb
require File.dirname(__FILE__) + '/lib/authentication'
require File.dirname(__FILE__) + '/lib/authentication/by_password'
require File.dirname(__FILE__) + '/lib/authentication/by_cookie_token'
require 'aasm'
require File.dirname(__FILE__) + '/lib/authorization/aasm_roles'
config/routes.rb
(省略)
  map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate'
(省略)
config/environment.rb
(省略)
Rails::Initializer.run do |config|
(省略)
  config.active_record.observers = :user_observer

  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address => 'SMTP サーバ',
    :port => 587, # or 25
    :domain => 'ドメイン',
    :authentication => :login,
    :user_name => 'SMTP AUTH ユーザーID',
    :password => 'SMTP AUTH パスワード'
  }
end

$ADMIN_EMAIL = '管理者のメールアドレス'
$SERVICE_URL = 'http://localhost:3000'
app/models/user_mailer.rb
class UserMailer < ActionMailer::Base
  def signup_notification(user)
    setup_email(user)
    @subject    += 'Please activate your new account'

    @body[:url]  = "#{$SERVICE_URL}/activate/#{user.activation_code}"

  end

  def activation(user)
    setup_email(user)
    @subject    += 'Your account has been activated!'
    @body[:url]  = "#{$SERVICE_URL}"
  end

  protected
    def setup_email(user)
      @recipients  = "#{user.email}"
      @from        = $ADMIN_EMAIL
      @subject     = "[YOURSITE] "
      @sent_on     = Time.now
      @body[:user] = user
    end
end
app/models/password_mailer.rb
class PasswordMailer < ActionMailer::Base

  def forgot_password(password)
    setup_email(password.user)
    @subject    += 'You have requested to change your password'
    @body[:url]  = "#{$SERVICE_URL}/change_password/#{password.reset_code}"
  end

  def reset_password(user)
    setup_email(user)
    @subject    += 'Your password has been reset.'
  end

  protected
    def setup_email(user)
      @recipients  = "#{user.email}"
      @from        = $ADMIN_EMAIL
      @subject     = "[YOURSITE] "
      @sent_on     = Time.now
      @body[:user] = user
    end
end
app/controllers/application.rb
class ApplicationController < ActionController::Base

(省略)
  include AuthenticatedSystem

  before_filter :login_required

end
app/controllers/users_controller.rb
class UsersController < ApplicationController
  before_filter :login_required, :except => [ :new,
                                              :create,
                                              :activate,
                                              :suspend,
                                              :unsuspend,
                                              :destroy,
                                              :purge,
                                            ]

(省略)

end
app/controllers/sessions_controller.rb
class SessionsController < ApplicationController
  skip_before_filter :login_required

(省略)

end

ここで簡単なアプリを作るとよい

つまりscaffold

データベースとテーブルの作成
% rake db:create

% rake db:migrate

ここまでで確認

メールアドレス変更

change_email
% ruby script/plugin install git://github.com/kusakari/change_email.git
valid-attributes
% ruby script/plugin install git://github.com/kusakari/valid_attributes.git
メールアドレス変更用のコードを自動生成
% ruby script/generate change_email email user
データベース
% rake db:migrate

メールの日本語対応

ActionMailerJa
% ruby script/plugin install git://github.com/kusakari/actionmailer_ja.git
app/models/user_mailer.rb
class UserMailer < ActionMailer::Base
  def signup_notification(user)
    setup_email(user)
    @subject    += '新しいアカウントを有効にして下さい'

    @body[:url]  = "#{$SERVICE_URL}/activate/#{user.activation_code}"

  end

  def activation(user)
    setup_email(user)
    @subject    += 'アカウントが有効になりました'
    @body[:url]  = "#{$SERVICE_URL}"
  end

  protected
    def setup_email(user)
      @recipients  = "#{user.email}"
      @from        = "TODOアプリケーション <#{$ADMIN_EMAIL}>"
      @subject     = "[YOURSITE] "
      @sent_on     = Time.now
      @body[:user] = user
    end
end

エラーの日本語化

screenshot

Rails 2.2 の日本語下

| 19:05 | Rails 2.2 の日本語下を含むブックマーク

screenshot

screenshot

先人の知恵有り難く使わせていただきます。

aasmで何らやエラーがでる

18:58 | aasmで何らやエラーがでるを含むブックマーク

% script/plugin install git://github.com/rubyist/aasm.git

とやってインストールしないとヾ(`◇')ダメッ!

この辺は、gitに移行しているのでか??

しかし、前のコマンドでもインストール済みのログがでるのに。

restful-authentication プラグインを使ってログインアプリケーション作る

| 18:44 | restful-authentication プラグインを使ってログインアプリケーション作るを含むブックマーク

restful-authentication プラグインを使ってログインアプリケーション作る(1)

screenshot

restful-authentication プラグインを使ってログインアプリケーション作る(2)

screenshot

使わせてもらいます(^▽^;)

だが、うごかないq(T▽Tq)(pT▽T)p

どうして??

| 12:40 | どうして??を含むブックマーク

http://gigazine.net/index.php?/news/comments/20080421_branding5/

gigazineより

さっきのニュースの下段より、ハヶ━m9( ゚д゚)っ━ン!!

ブランディングの方法だけど、なんか、ちょっと違うような・・・。

タレントが云々ってくだりだけど、実際、ネットでの購買とタレントによる広告が結びついている例をくださいって感じです。

勿論、テレビでなにも宣伝をしていない商品でですよ!!

大衆層に訴えかける方法が、旧世代の方法(ちょっと乱暴)であってとりあえず、扇動するには、認知されたものを使ってという発想は、テレビ的というか、広告屋的というか、そういうのをネット環境が望んでいるとは、到底思えない(ノ`Д´)ノ彡┻━┻。

おまいら、本当に良い商品を(かどうか)、教えてくれ

って検索できる時代に、タレントとか言ってるは、どっかの広告代理店やテレビ局の自演にしか思えんのですが。

うれし〜る

12:30 | うれし〜るを含むブックマーク

http://gigazine.jp/img/2009/01/26/ureseal/evGF9DYt8R.jpg

http://gigazine.net/index.php?/news/comments/20090126_ureseal/

gigazineより

商品の値引きを商売にしようとゆう話。

サービスは、すでに実施されている模様。

値引きシールが広告スペースになっているらしい。

どのくらい効果があるのか、知りたいなぁ。