You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
HOMEchevron_right技術chevron_rightRuby on Rails4のSessionをJSON形式にした時にハマったこと 状況 Ruby on RailsとNode.jsでセッションデータを共有したい状況がありました。 Session StoreにはRedisを使っています。 普通に考えると、クッキーからセッションID取って当てに行けばいけるだろうと考えるのですが、Railsは一筋縄ではいきません。 中身覗くとすぐ分かるんですが、セッションデータ自体がMarshalでシリアライズされた状態で保持されている為。 Node側でデータとってもJSONでパースできないし、なんだこりゃ?となります。 さてどうするか、となった時に参考にさせていただいた記事がこちら(感謝)↓ Rails sessionのシリアライズにJSONが使われない理由: なぜMarshal? JSON/Y
Railsでformメソッドを使わずにPOSTなど、GET以外でデータを送信すると ActionController::InvalidAuthenticityToken というエラー(HTTPステータスコード422)が返されることがあります これはRails標準のCSRF対策で、GET以外のデータ受信時にサーバ側で生成されるトークンが要求されるために起こります formメソッドを使えば自動的にトークンを生成して埋め込んでくれますので普通は遭遇しないのですが… 今回自分はGreasemonkeyScriptからxmlhttpRequestでPOSTして嵌りました 今回は外部から利用してもらうこと(APIのつもり)が前提なのでそのメソッドだけ skip_before_filter :verify_authenticity_token ,:only=>[:action_name] をコントロ
先日の記事(Resqueを利用したRailsでの非同期処理/バッチ処理)の続きです。 簡単に振り返っておきましょう。今、localhost:3000でRailsアプリが動いています。ユーザーが/hello/worldにアクセスすると、すぐにレスポンスが返ってきます。しかし、数秒経過すると専用のログにテキストが書き込まれます。こういう仕組みを作りました。 この仕組みの鍵になるのが、Resqueというライブラリです。Railsアプリ側でクラスメソッドResque.enqueueを呼ぶと、非同期で実行したい処理(ジョブ)を登録できます。他方、Railsアプリとは別のプロセスでResqueワーカーというものが動いていて、数秒ごとに新しいジョブが登録されていないか監視しています。新しいジョブを見つけると、それを実行して、また監視作業に戻ります。 さて、前回はターミナルで resque:work とい
Something went wrong! Hang in there while we get back on track Writing an API is almost a given with modern web applications. I’d like to lay out some simple guidelines and best practises for Rails API testing. We need to determine what to test and why it should be tested. Once we’ve established what we will be writing tests for, we will set up RSpec to do this quickly and easily. Basically we’ll
7月に設立した株式会社トレタでは、フルタイムのRuby on Railsエンジニアを募集しています。株式会社トレタの設立趣旨は、代表の中村の書いたブログを読んでいただけるとご理解いただけるかと思います。 私はそのトレタで、CTOという立場でバリバリとコードを書いています。(ミイルを運営するFrogAppsとは兼任となっています) トレタでは、iPadを用いたB2Bのサービスを構築中です。このサービスのサーバサイドのコードを一緒に書いてくれるノリの合うメンバーを募集しています。 (Rubyの経験 && (GitHubで一つ以上のrepoを公開(Rubyで無くても可) || 技術系ブログを書いている))で、Railsを使っているけどもっとステップアップしたい!という方や、masuidriveとバリバリコード書いていこうぜ!と思ってくれる方の応募をお待ちしてます。 「風呂でも仕事をしてくれ」とは
最近MVCがどうとかという内容が話題になっていますが、ちょっと乗っかった内容です。 Railsで初心者によく見られる良くないコードは、コントローラーでたくさんの処理を実装してコントローラーの一つのアクションが30行、40行になってしまうことです。それに対して、モデルに適切に処理を移すのが良いんだということを言うんですが、"適切に"って何?じゃー、コントローラーには何を書くのがいいの?っていう質問への僕なりの回答です。 良いメソッドとは? 直接回答する前に、まずは前提の共有から、プログラムにおいて良いメソッドとはどのようなメソッドでしょうか?僕の解は、以下です。 “引数と返り値が最小限になっているメソッドです” (この部分については別途説明が必要な気がしますが、まぁなんとなくご理解いただけるかなと思います。) Railsのコントローラーの仕事? では、Railsのコントローラーの仕事において
Rails3でsslに自動的にリダイレクトするのは、 config/enviroments/production.rb に config.force_ssl = trueの設定を入れればOKです。 ネイキッドドメインにアクセスが来た場合に自動的にリダイレクトするには rack-canonical-host のgemを利用します。 Gemfile gem 'rack-canonical-host'config/initializers/canonical_host.rb require "rack/ssl" unless Rails.env.development? Rails.application.config.middleware.insert_before Rack::SSL, Rack::CanonicalHost, ENV["APP_HOST_NAME"] end のように設定を
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
次のページ カテゴリへ戻る Railsのセッションの仕組みと使い方(session[:hoge]) 更新日 2009/07/17 作成日 2008/07/17 セッションとは、サーバーがリクエストしてきた相手を特定する為の技術です。Webサイトには複数の人がアクセスしてきます。 ショッピングサイトでは商品を買い物かごに入れたのが誰なのか管理できている必要があります。ログインが必要なサイトでは、すでにユーザーID、PASSが正しく入力されログインされているユーザーなのか判断できる必要があります。 このようなサイトではセッションを使い管理します。 セッションの仕組みを簡単に説明します。サーバー側がセッションを開始するプログラミングをすると、ユニークなIDがサーバー側に記憶され、同時に同じIDでクライアント側に返されます。このIDはその後の同サイトのリクエストに必ず送信されるようになり、
セッションとは セッションとは、サイトに訪問してから離脱(=セッションが切れる)するまでの一連の行動のこと。 ここでいう「行動」とは、サイトを訪問してから離脱するまでのサイト内のページの閲覧や遷移などを指す。 セッションの使い方(Rails) セッションを使うと、ユーザーが画面遷移してもユーザー特有の情報を失わないようにできる。 現在のセッション情報を得る →sessionメソッドを使う session #=> #<CGI::Session:0x40a1df48... セッションIDを取得する →session_idメソッドを使う session.session_id #=> "f1174c1766ejifjojpsjifjojgbiojsj" セッションにデータを保存する session[:user_id] = @user.id違うページでユーザーデータを取得するには、 @user =
まとめ 岡山Ruby会議02 まとめ #okark02 公式 http://regional.rubykaigi.org/okayama02 アンケートにご協力ください http://jp.surveymonkey.com/s/FKK3FXB 公開された資料 http://www.slideshare.net/mkonishi1981/ruby-ruby02 http://www.slideshare.net/keisuken/okayama-rubykaigi-2pureimage http://www.slideshare.net/muryoimpl1/ruby-23964721 https://speakerdeck.com/razon/number-okark02-lambda-driver http://www.slideshare.net/ch.. 4354 pv 11 9 徳
HakiriはRuby製、MIT Licenseのオープンソース・ソフトウェアです。 Webサーバのセキュリティは万全でしょうか。できるだけのことはしつつも、それでもバージョンアップが適切に行われていない場合もあります。特に外部に公開されるWebサーバや、そこから接続されるデータベースサーバについては重点的にチェックが必要です。そこで使ってみたいのがHakiriです。 最初にマニフェストを作成します。必要な箇所を修正します。 後はsystem:scanで自動的にシステムのバージョンチェックが実行されます。ローカルということもあってバージョンアップを放置し過ぎていますね…。 セキュリティ情報をリストアップできます。おとなしくバージョンアップするのが良いです。 HakiriはWebサービスとして公開されているHakiri PlatformのCUIクライアントという位置づけです。主にRuby/R
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く