Archive for 8月, 2008
大コミュニティと小コミュニティがある。
大コミュニティは決まっている。「幕府」「会津藩」「薩摩藩」
小コミュニティを作る時は、大コミュニティ選択必要
コミュニティ内で相談して、暗殺や論破を計画
人の論調変えて、時勢も変える。
実際の時間で1日経過ごとに、コミュニティ内では1ヶ月経過(ベータ時は1年?)
たぶん生まれて初めて検索したワード
「アフィリエイト 収入」
アフィリエイトだけで食べていこうなんて事は思っていないけれど、仮にも「Webアプリ屋」って意識でいるのに、こんなワードすら検索してきていなかった自分が恥ずかしい。
と、思ったので記録。
ネットサービス何かを作ろうと思ったら、いろいろ勉強しないといけないですね。
■4. ジェネレータコマンド「authenticated」 が追加されるので、実行
activationもstateful も入れる
$ ./script/generate authenticated user sessions
-?include-activation
-?stateful
こんな感じ。
C:Documents and SettingsMiyaiMy DocumentsNetBeansProjectsrubyweblog>ruby sc
ript/generate authenticated user sessions –include-activation –stateful———————————————————————-
Don’t forget to:map.activate ‘/activate/:activation_code’, :controller => ‘users’, :action =
> ‘activate’- add an observer to config/environment.rb
config.active_record.observers = :user_observerAlso, don’t forget to install the acts_as_state_machine plugin and set your reso
urce:svn export http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/tr
unk vendor/plugins/acts_as_state_machineIn config/routes.rb:
map.resources :users, :member => { :suspend => :put, :unsuspend => :put, :purg
e => :delete }Try these for some familiar login URLs if you like:
map.activate ‘/activate/:activation_code’, :controller => ‘users’, :action => ‘a
ctivate’, :activation_code => nil
map.signup ‘/signup’, :controller => ‘users’, :action => ‘new’
map.login ‘/login’, :controller => ’sessions’, :action => ‘new’
map.logout ‘/logout’, :controller => ’sessions’, :action => ‘destroy’———————————————————————-
exists app/models/
exists app/controllers/
exists app/controllers/
exists app/helpers/
create app/views/sessions
create app/views/user_mailer
exists app/controllers/
exists app/helpers/
create app/views/users
exists test/functional/
exists test/functional/
exists test/unit/
create app/models/user.rb
create app/models/user_mailer.rb
create app/models/user_observer.rb
create app/controllers/sessions_controller.rb
create app/controllers/users_controller.rb
create lib/authenticated_system.rb
create lib/authenticated_test_helper.rb
create test/functional/sessions_controller_test.rb
create test/functional/users_controller_test.rb
create test/unit/user_test.rb
create test/unit/user_mailer_test.rb
create test/fixtures/users.yml
create app/helpers/sessions_helper.rb
create app/helpers/users_helper.rb
create app/views/sessions/new.html.erb
create app/views/users/new.html.erb
create app/views/user_mailer/activation.html.erb
create app/views/user_mailer/signup_notification.html.erb
create db/migrate
create db/migrate/20080825221326_create_users.rb
route map.resource :session
route map.resources :users
■5. acts_as_state_machine プラグインもインストール
activationとかstatefulとかに必要らしい。
$ ./script/plugin install http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/trunk/
C:Documents and SettingsMiyaiMy DocumentsNetBeansProjectsrubyweblog>ruby sc
ript/plugin install http://elitists.textdriven.com/svn/plugins/acts_as_state_mac
hine/trunk/
+ ./CHANGELOG
+ ./MIT-LICENSE
+ ./README
+ ./Rakefile
+ ./TODO
+ ./init.rb
+ ./lib/acts_as_state_machine.rb
+ ./test/acts_as_state_machine_test.rb
+ ./test/database.yml
+ ./test/fixtures/conversation.rb
+ ./test/fixtures/conversations.yml
+ ./test/fixtures/person.rb
+ ./test/schema.rb
+ ./test/test_helper.rbC:Documents and SettingsMiyaiMy DocumentsNetBeansProjectsrubyweblog>
■6.migrate!(マイグレーション用ファイルは、上記のジェネレート時に設定済み)
netbeans上で、DBを最新化
(in C:/Documents and Settings/Miyai/My Documents/NetBeansProjects/rubyweblog)
== 20080825221326 CreateUsers: migrating ======================================
– create_table(“users”, {:force=>true})
-> 0.0160s
== 20080825221326 CreateUsers: migrated (0.0160s) =============================
ここでhp参照
http://localhost:3000/user/new
でルーティングエラー
よくわからんかったので、認証テスト用の簡易ブログを作成する事にする。
■この認証利用のためのscaffoldを準備
Post title:string content:text
migrateする
(in C:/Documents and Settings/Miyai/My Documents/NetBeansProjects/rubyweblog)
== 20080825222339 CreatePosts: migrating ======================================
– create_table(:posts)
-> 0.0470s
== 20080825222339 CreatePosts: migrated (0.0470s) =============================
app/controllers/sessions_controller.rb
を開いて、四行目の
include AuthenticatedSystem
をカットして保存。
同じフォルダ内にある
application.rb
を開いて
class ApplicationController < ActionController::Base
の内側にカットしたソースをペースト。
これでユーザ認証の機能が実装された。Railsではアクションごとにユーザ認証をかけるために「フィルタ」という仕組みを利用する。ユーザ認証はアクションを実行する前にフィルタを通す必要があるので「Before」フィルタを使う。
ユーザ認証をかけたい部分の***_controller.rb(この場合はapp/controllers/posts_controller.rb)というファイルを開き、二行目にそのフィルタを追記する。
before_filter :login_required, :except => [:index, :show]
※:exceptはオプションで、ここで指定されているindex(一覧ページ)は認証なしで閲覧可能になっている。
ここで、さっきのURLに間違いを発見
http://localhost:3000/users/new
で、いけた!
id,email,passwordを入力
http://localhost:3000/
に戻ってくる。登録できているのか?、ステータスは?
mysqlで確認
C:Documents and SettingsMiyaiMy DocumentsNetBeansProjectsrubyweblog>mysql -
u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.0.51b-community-nt MySQL Community Edition (GPL)Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.
mysql> use database rubyweblog_development;
ERROR 1049 (42000): Unknown database ‘database’
mysql> use rubyweblog_development;
Database changed
mysql> show tables;
+———————————-+
| Tables_in_rubyweblog_development |
+———————————-+
| posts |
| schema_migrations |
| users |
+———————————-+
3 rows in set (0.00 sec)mysql> select * from users
-> ;
+—-+——–+—————–+——————————————+—-
————————————–+———————+——————-
–+—————-+—————————+——————————–
———-+————–+———+————+
| id | login | email | crypted_password | sal
t | created_at | updated_at
| remember_token | remember_token_expires_at | activation_code
| activated_at | state | deleted_at |
+—-+——–+—————–+——————————————+—-
————————————–+———————+——————-
–+—————-+—————————+——————————–
———-+————–+———+————+
| 1 | tmiyai | takuya@miyai.jp | fc9f16b6bc098badff9347916241545135da9324 | e98
8284bddeb979e4cf87e54a669c0932454fcd2 | 2008-08-25 22:34:10 | 2008-08-25 22:34:1
0 | NULL | NULL | a9c735a91ac344ef39fc849e0e3c359
71854c94f | NULL | pending | NULL |
+—-+——–+—————–+——————————————+—-
————————————–+———————+——————-
–+—————-+—————————+——————————–
———-+————–+———+————+
1 row in set (0.00 sec)mysql> select login, state from users;
+——–+———+
| login | state |
+——–+———+
| tmiyai | pending |
+——–+———+
1 row in set (0.00 sec)mysql>
以下を、routes.rbに追加
activateするために必要らしい。
map.connect “activate/:activation_code”, :controller => “users”, :action => “activate”
この辺でよくわからなくなってくる。
てらじろぐ | restful_authentication でメール認証するぞ
restful_authenticationの設定 – べるべる研究日誌
この辺を見て、再トライだな。。。
画像が投稿できるようになったので、再投稿。
なんか最近twitterで、API認証のログインダイアログが出てくるようになった。
GFのF川さんとかHさんとかは出ていない模様。
たぶん同じブラウザ(FF3)使ってるやろうに、なんで俺だけ。。。
画像投稿いけた!
↓解決方法
WordPress ? フォーラム ≫ WP2.6 uploadsディレクトリを変更している場合の画像ファイルのアップロード
以下のファイルの編集が必要
wp-includes/functions.php
* 1490行目に挿入$path = str_replace( ABSPATH, ”, trim( $upload_path ) );
* 1492行目を変更$url = trailingslashit( $siteurl ) . $path;





