2015年2月25日水曜日

Rails: Twitter Auth by 0Auth (detail)

$ vim Gemfile
 10
 11 gem 'omniauth'
 12 gem 'omniauth-twitter'
 13 gem 'twitter'
 14

$ vim config/initializers/omniauth.rb
 17 
 18 Rails.application.config.middleware.use OmniAuth::Builder do
 19   provider :twitter, 'TWITTER_CONSUMER_KEY', 'TWITTER_CONSUMER_SECURET',
 20         :request_path => 'sign_in', :callback_path => 'sign_in/callback'
 21 end
 22 

$ vim config/routes.rb
 25 
 26 get '/auth/:provider/callback'=>'sessions#create'
 27 

$ rails g controller sessions

$ vim sessions_controller.rb 
 32 
 33 class SessionsController < ApplicationController                            
 34   def create
 35    raise request.env["omniauth.auth"].to_yaml
 36   end
 37 end
 38 

$ rails g model usertwitter provider:string uid:string name:string
  
$ vim controller/usertwitter.rb
 50   class SessionsController < ApplicationController                                
 51       def create
 52           auth = request.env["omniauth.auth"]
 53           user = Usertwitter.find_by_provider_and_uid(auth["provider"], au    th["uid"]) 
 54           || Usertwitter.create_with_omniauth(auth)
 55           session[:user_id] = user.id
 56   
 57          redirect_to '/' , :notice => "Signed in!"
 58       end
 59   end

$ vim model/usertwitter.rb
 63     def self.create_with_omniauth(auth)
 64      create!do |usertwitter|
 65        usertwitter.provider = auth["provider"]
 66        usertwitter.uid = auth["uid"]
 67        usertwitter.name = auth["name"]
 68      end
 69    end

$ vim controllers/twines.rb
 80     before_filter :authenticate
 81 
 82       def authenticate
 83          auth = request.env["omniauth.auth"]
 84           redirect_to '/' unless current_user
 85      end

 ***Twitter Service Setting
 42 https://dev.twitter.com/
 43 Product → Login with Twitter
 44 Manage Your Apps






2015年2月22日日曜日

Rails: Twitter Auth

Twitter Auth by 0Auth





File..

Gemfile
config/initializes/omniauth.rb
config/routes.rb
controllers/session_controller.rb
controllers/user.rb

2015年2月11日水曜日

Rails: layouts/application rendering

$ vim environments/production.rb

 33   config.assets.compress = true
 34   config.assets.debug = false

$ rake assets:clean RAILS_ENV=production
$ rake assets:precompile RAILS_ENV=production





Rails: add_index(DB)

$ rails g migration add_index_geoips
$ vim 20150211110932_add_index_geoips.rb

  1 class AddIndexGeoips < ActiveRecord::Migration                            
  2   def change
  3     add_index :geoips,[:id , :ipaddress , :latitude , :longitude]
  4   end
  5 end

$ rake db:migrate



2015年2月10日火曜日

Rails: CanCan::AccessDenied

$ vim controllers/application_controller.rb 

  1 class ApplicationController < ActionController::Base                   
  5 
  6   rescue_from CanCan::AccessDenied do |exception|
  7     redirect_to '/' , :alert => exception.message
  8   end
  9 
 10 end

2015年2月9日月曜日

Rails: devise install on rails_admin

■ devise user add

$ rails g devise:install
$ vim ../config/environments/development.rb
   config.action_mailer.default_url_options = { host: 'hhoshina.info', port: 3000 }  ← add
   end

$ rails g devise user
$ rake db:migrate

■new user add ( on rails_admin website )




■  add admin column to user

  $ rails g migration AddAdminToUser user
  $ vim 20150209134227_add_admin_to_user.rb
   -----
  1 class AddAdminToUser < ActiveRecord::Migration
  2   def change
  3     add_column :users, :admin, :boolean      <--- Change                                  
  4   end
  5 end
  -----

■ admin flag add ( on rails_admin website)

■ cancan config
 $ rails g cancan:ability
 $ vim model/ability.rb
  --------
  1 class Ability                                                                
  2     include CanCan::Ability
  3
  4     def initialize(user)
  5         if user && user.admin?
  6             can :access, :rails_admin
  7             can :manage, :all
  8         end
  9     end
 10 end
 --------

■rails_admin config
 $ vim initializers/rails_admin.rb

 12 ## == Devise ==
 13    config.authenticate_with do |controller|
 14     warden.authenticate! scope: :user
 15    end
 16    config.current_user_method(&:current_user)
 17 
 18   ## == Cancan ==
 19    config.authorize_with :cancan






Rails: devise destory

$ rails destroy devise:install
      remove  config/initializers/devise.rb
      remove  config/locales/devise.en.yml

$ rails destroy devise User
      invoke  active_record
      remove    db/migrate/20150207125104_devise_create_users.rb
      remove    app/models/user.rb
      invoke    rspec
      remove      spec/models/user_spec.rb
       route  devise_for :users

$ rake db:migrate


2015年2月8日日曜日

Rails: Passenger debug



if show error message , you check ↓

$ tail error_log
-------
[ 2015-02-07 23:43:10.2449 1276/7f1a10a6b700 Pool2/Implementation.cpp:287 ]: Could not spawn process for application /var
/: An error occured while starting up the preloader.
  Error ID: 9a4609eb
  Error details saved to: /tmp/passenger-error-mWzkyA.html
-------
$ view passenger-error-mWzkyA.html

in `method_missing'
  /app/models/user.rb:4:in `<class:User>'
  /app/models/user.rb:1:in `<top (required)>'  ← code check !





2015年2月1日日曜日

Rails: Gemfile , gem delete

exec.

$ vim Gemfile
---
gem 'paperclip'
---

$ sudo gem uninstall paperclip

$ vim Gemfile
---
gem 'paperclip' <---delete
---


fd-find

 $ sudo apt install fd-find $ fdfind 石