2012年2月26日日曜日

rails 3.1 でのjavascript

rails3.1 ではcoffee scriptが標準でサポートされていす。いまいち、coffeescriptがよくわからないので、いつも \app\assets\javascrptsにjavascriptファイルを追加していたのですが、どうもcoffeescriptのファイルを消さないと二重にコールされてしまうようです。 コントロール毎に使うjavascriptを変更したい場合、apllication.jsの一番したの行を削除
//= require jquery
//= require jquery_ujs
//= require_tree .             (この行を削除)
application.html.erbに<%= javascript_include_tag params[:controller] %>  を追加



  Sample1
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= javascript_include_tag params[:controller] %>   (この行を追加)
<%= debug(params) %>
  <%= csrf_meta_tags %>


<%= yield %>


herokuにrailsアプリをアップロード

少し苦労した点を書き込んでおきます。 しかし簡単にデプロイ出来ますね。 通常と違うポイント 1.GemFile にpgを追加
   group :production do
        gem 'pg'
        gem 'therubyracer-heroku'
    end
    group :development, :test do
        gem 'sqlite3'
    end
2.config/environments/production.rb
      config.assets.compile をtrueに変更
3.bundle install に--without productionを追加
bundle install --without production
後はherokuのgit形式でプッシュすればherokuがデプロイをしてくれます。 注意てしてはheroku場にはファイルを作成出来ないので、DB上かamazon s3などに保存する必要が有ります。(./tmpは一時的に保存出来るみたいです)

2012年2月19日日曜日

rails 3.1 でのajax 2

テンプレートを使うバージョン
手順1:ルーティングの追加(routes.rbにコントローラー ajx アクションasyncを追加) get "ajax/async" 手順2: view に:remote => trueを追加(views/ajax/index.html.erb)

number

<%= link_to 'get num' ,{:action => 'async'} , :remote => true %>
手順3:コントローラーに"async"を追加(controllers/ajax_controller.rb)
  def async
    @num = rand(100)
  end
手順4:コントローラーからコールされるjavascript(views/ajax/async.js.erb)アクション名と同じにする #numの例はテンプレートを使わないパターン
$('#num').text(
 "<%= escape_javascript(render :partial => 'async_num') %>"
);
$('#num2').html(
 "from async.js.erb   " +  "<%=  @num %>"
);
手順5:テンプレート(views/ajax/_async_num.html.erb)(_は必要です)
from _async_num.html.erb   <%= @num %>

rails 複数のsubmit

submit_tagの引数を利用する方法とjavascriptを利用する二つのパターンが有ります。 javascript無しのパターン
<%= form_tag url_for(:action => :index),:method => :get do %>
<%= submit_tag "検索1",:name1 => "検索1"%>
<%= submit_tag "検索2",:name1 => "検索2"%>
<% end %>
javascript有りのパターン フォームの外にsubmit_tagを設定出来ます。

<%= form_tag url_for( :action => :index) , :method => 'get' ,:id => 'form1' do %>

<%= hidden_field_tag "s_data" %>
<% end %>
<%= submit_tag '1', :onclick => ('sort_submit("data1");') %>
<%= submit_tag '2', :onclick => ("sort_submit('data2');") %>

2012年2月12日日曜日

貴志駅➡加太ポタ

今日は貴志駅から加太までのポタでした。この季節は短い距離をスローペースで走るのが良いですね。
 貴志駅
ニタマです。(以外とデカくなっている)

加太に行くといつもの万幸商店でお昼を食べました。今回は1500円/一人のおまかせにしました。やはり美味しい。

和歌山市内を走っているとGIOSのyoshiXXさんに偶然遭遇。ビックリ。

2012年2月8日水曜日

centOS5.7(さくら)へのrvmインストール

少しハマったので、メモしておきます。
rvmをcentOS5.7にインストールすると以下のようなエラーが出ます。

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
Downloading RVM from wayneeseguin branch stable

curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html


ここ(http://d.hatena.ne.jp/xyk/20111214/1323859416)に書いているように、SSL証明書が古いのが原因みたいです。
以下のをするとrvmがインストールできました。

# cd /etc/pki/tls/certs/
# cp ca-bundle.crt ca-bundle.crt.bak
# curl http://curl.haxx.se/ca/cacert.pem -o ca-bundle.crt


2012年2月6日月曜日

遅くなりましたが、ミッションインポッシブルみてきました

インフルエンザと宣告されてから、発熱が無いので、もう一度病院に行きました。医者によると明日から会社に行っても良いと言われましたので、久しぶりに昼から映画を見てきました。
ミッションインポッシブル 娯楽映画としては大変楽しめました。(泉南にイオンでは月曜日は1000円でした)

2012年2月5日日曜日

インフルエンザ

インフルエンザ判定がされてから後、いつまで経っても熱が出てこない。。。
病院の検査がいまいちか、体がインフルエンザに強いかのどちらかだと思います。(月曜日にもう一度病院に行ってみよう)
今のところ、普通の風邪の様な症状しか出ません。

2012年2月4日土曜日

流行に乗遅れていない

私も遂に今流行のインフルエンザにかかりました。
今日の朝病院に行って検査して10分後に判定が出ました。今はタミフルを飲みながら発熱が始まるのを待っている状態です。
発熱は明日の朝ぐらいから始まるのではと予想しています。予防接種の注射していなく、10年ぐらい前にインフルエンザにかかったきりなので、かなりドキドキしています。
結構急に寒気が来ますよね。。。