2014年11月26日 星期三

godaddy + heroku

http://lifesforlearning.com/heroku-with-godaddy/

heoroku domains:add www.example.com
heroku domains:add example.com

log in to godaddy

  1. Then remove all records here except for the NameServers
  2. Add / edit the CNAME record for “www” to point to your Heroku app domain name like “example.herokuapp.com”. Mine is madpad.herokuapp.com.

2014年11月22日 星期六

elasticsearch + searchkick


https://intercityup.com/blog/installing-elasticsearch-mac-os-x-10-9-mavericks-development/


point $JAVA_HOME to the Java installation path in your .bash_profile:
export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"

brew install elasticsearch


And start elasticsearch with:
elasticsearch --config=/usr/local/opt/elasticsearch/config/elasticsearch.yml




https://shellycloud.com/blog/2013/10/adding-search-and-autocomplete-to-a-rails-app-with-elasticsearch

# Gemfile
gem "searchkick"
After running bundle install, we can configure the Book model to be searchable:
# app/models/book.rb
class Book < ActiveRecord::Base
  searchkick
  # ...
end
Next, we need to build the index for the Book class so that the books we already have in the database will be added to Elasticsearch. When new records are created rebuilding isn't necessary, but you have to do it whenever you change the searchkick method in your model:
rake searchkick:reindex CLASS=Book

https://github.com/ankane/searchkick

Deployment

Searchkick uses ENV["ELASTICSEARCH_URL"] for the Elasticsearch server. This defaults tohttp://localhost:9200.

Heroku

Choose an add-on: SearchBoxBonsai, or Found.
# SearchBox
heroku addons:add searchbox:starter
heroku config:add ELASTICSEARCH_URL=`heroku config:get SEARCHBOX_URL`

# Bonsai
heroku addons:add bonsai
heroku config:add ELASTICSEARCH_URL=`heroku config:get BONSAI_URL`

# Found
heroku addons:add foundelasticsearch
heroku config:add ELASTICSEARCH_URL=`heroku config:get FOUNDELASTICSEARCH_URL`
Then deploy and reindex:
heroku run rake searchkick:reindex CLASS=MODEL


2014年11月18日 星期二

sloving the problem while using turbolinks in RoR app which make facebook script not loading

http://reed.github.io/turbolinks-compatibility/facebook.html

Official Implementation

HTML<body>
  <div id="fb-root"></div>
  <script>
    (function(d, s, id){
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
  </script>

  <!-- Like button -->
  <div class="fb-like" data-send="true" data-layout="button_count" data-width="450" data-show-faces="true"></div>
</body>

Solution

Remove the script from the body and load the following script inside the <head>.
add the script below to js.coffee  file
COFFEESCRIPTfb_root = null
fb_events_bound = false

$ ->
  loadFacebookSDK()
  bindFacebookEvents() unless fb_events_bound

bindFacebookEvents = ->
  $(document)
    .on('page:fetch', saveFacebookRoot)
    .on('page:change', restoreFacebookRoot)
    .on('page:load', ->
      FB?.XFBML.parse()
    )
  fb_events_bound = true

saveFacebookRoot = ->
  fb_root = $('#fb-root').detach()

restoreFacebookRoot = ->
  if $('#fb-root').length > 0
    $('#fb-root').replaceWith fb_root
  else
    $('body').append fb_root

loadFacebookSDK = ->
  window.fbAsyncInit = initializeFacebookSDK
  $.getScript("//connect.facebook.net/en_US/all.js#xfbml=1")

initializeFacebookSDK = ->
  FB.init
    appId     : 'YOUR_APP_ID'
    channelUrl: '//WWW.YOUR_DOMAIN.COM/channel.html'
    status    : true
    cookie    : true
    xfbml     : true

2014年11月17日 星期一

font awesome on website and assets precompile setting

/assets/stylesheets/application.css
     @import "bootstrap-sprockets";
     @import "bootstrap";


/config/environments/ production.rb
  config.assets.compile = true

  config.serve_static_assets = true

/config/application.rb
   config.autoload_paths += %W(#{config.root}/app/models/ckeditor)
    config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
    config.assets.precompile += %w(.svg .eot .woff .ttf)
    config.assets.paths << "#{Rails}/vendor/assets/fonts"



run

rake assets:precompile rails_ENV=production

2014年11月13日 星期四

Rails 4 OmniAuth using Devise facebook

http://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/#changes

2014年11月11日 星期二

setup SSL on Heroku for a Rails Application

https://www.resumonk.com/blog/setup-ssl-certificate-heroku/



config/enviroment/production.rb
set
config.force_ssl = true