NoMethodError in TodosController#add undefined method `todo' for #<Todo:0x007fc52bfe8830> Application Trace app/controllers/todos_controller.rb:20:in `add' class TodosController < ApplicationController protect_from_forgery with: :null_session def add todo_instance = { user_id: params[:todos][:user_id], completion: params[:todos][:completion], content: params[:todos][:content], } Todo.cre
... <%= include_gon %> <%= javascript_include_tag 'application' %> ...
毎日夜中にバッチ処理回したい時ってあるじゃないですか。しかも何も考えずに設定すると、気づいたら夜の4:00とかにタスクが集中してサーバの負荷が高くなる事もしばしば。 Railsでバッチ処理を実現するならwheneverが便利ですが、wheneverを使うと以下のように例えば4時頃に実行したいタスクを10分ずつずらして実行できます。 # だいたい4時頃実行すればいいタスク tasks = %w(task1 task2 task3 task4) tasks.each_with_index do |task, i| exec_time = ( Time.parse("4:00") + i*10.minutes ).strftime("%H:%M") every 1.day, at: exec_time do rake task end end 0 4 * * * /bin/bash -l -c
はじめに Railsの勉強もかねてRESTfulなAPIを作ろうとしてみました。 そういった際に、0からテーブル構造を考えて、 モデルを作って・・・と言った教科書通りのやり方をやっていくといった方法があります。 今回は、Railsを用いてRESTfulなAPIを作る事を目標の為、 WordPressを立ち上げて、テーブルの設計やテーブルに対する操作はそれを参考にする事にしました。 そのため、今回の記事の内容は以下の通りになります。 WordPressの環境を構築する。 上記で構築したテーブルをRailsから接続し、APIを作成していく。 WordPressの環境を構築する 今回はWordPressが利用するテーブルを作成する事が目標のため、 Webサーバーも適当に立ててしまいます。 PHP 5.4.0からビルドインサーバーがあるため、 それを用いる事で容易にPHPが動くWebサーバーが立ち
調べるといろいろそれっぽい情報はでてきましたが、古い情報が多く、いろいろ試した結果 Rails 4.1 でまともに使えたのは migration_comments だけでした。 下記のようにオプションとして :comment が渡せるようになったり、
resource :conversions do post :create do # create conversion end post :update do # update conversion end end [2] pry(main)> SampleApp::API.routes => [#<Grape::Route:0x007fd0ca428e50 @options= {:prefix=>nil, :version=>"v1", :namespace=>"/conversions", :method=>"POST", :path=>"/conversions/create(.:format)", :params=>{}, :compiled=>/\A\/conversions\/create(?:\.(?<format>[^\/.?]+))?\Z/}>, #<Grape::Ro
ひとつのMySQLサーバーだけでなく、もうひとつ別のMySQLサーバーに接続したい欲張りさんのための方法。 development: # ひとつめはいつもどおり adapter: mysql2 encoding: utf8 database: database1 username: hoge password: hogehoge host: database1.url port: 3306 pool: 5 timeout: 5000 test: # 略 production: # 略 # ふたつめ database2: adapter: mysql2 encoding: utf8 database: database2 username: fuga password: fugafuga host: database2.url port: 3306 pool: 5 timeout: 5000
困った 既に動いているサービスに新しく機能を追加する際に、 1対1のリレーションシップを持たせたテーブルを追加する必要がありました。 例えば、usersテーブルにuser_settingsテーブルを1対1の関係で追加するってイメージです。 ※usersにカラム追加すればいいじゃんってのは別の話で。 ここで困ったのが、新しく追加したテーブルへのデータ追加方法です。 考えられる方法として、 1.デプロイする際にバッチで一気にデータ投入する 2.新規追加したmodelを使う際にnullチェックをしてnullならば作成 の2パターンなんですが、 1だとデータ量が多くなっている場合にシビアになってくるので2で考えました。 しかし毎度modelを呼び出すところでnullチェックするのもめんどくさい。。 こんな実装がしたい
Rails で STI(Single Table Inheritance)を使った時の、コントローラの実装をどうするか?という事について書いてみたいと思います。 STI(単一テーブル継承)とは オブジェクト指向の基本概念として、あるクラスを元にサブクラスを定義する継承があります。 この継承は、プログラミング言語ですとと予め機能が提供されていることが多いですが、 RDB ですとテーブル構成によって表現する場合があります。 *1 今回使う STI は、一つのテーブル内に継承関係にあるクラスのカラムを全て持ってしまう方法です。 例として Player クラスを継承した Footballer クラスと Cricketer クラスがあるとします。 親クラスに共通のプロパティ、子クラスがそれぞれのプロパティを持っていますが、これを STI で表現すると以下になります。 テーブルのレコードがどちらの型に
This guide covers the basic layout features of Action Controller and Action View. After reading this guide, you will know: How to use the various rendering methods built into Rails. How to create layouts with multiple content sections. How to use partials to DRY up your views. How to use nested layouts (sub-templates). 1 Overview: How the Pieces Fit TogetherThis guide focuses on the interaction be
14 Scopes Scoping allows you to specify commonly-used queries which can be referenced as method calls on the association objects or models. class User < ActiveRecord::Base scope :active, -> { where(status: 'active') } end
5 Conditional Validation Sometimes it will make sense to validate an object only when a given predicate is satisfied. You can do that by using the :if and :unless options, which can take a symbol, a string, a Proc or an Array. You may use the :if option when you want to specify when the validation should happen. If you want to specify when the validation should not happen, then you may use the :un
Merbのコア開発者でRails3でMerbとRailsの統合で重要な役割を果たしたYehuda Katzさんが、Mac向けのRails.appを作るという新プロジェクト「Tokaido」(東海道新幹線からの命名)を発表して話題を呼んでいます。プロジェクトをスタートするにあたって、Yehudaさんはまず、Kickstarterを使って、プロジェクトの必要性と、自分がそれを遂行できる能力があることを示しつつ、募金を開始しました。開発に先立って2万5000ドル(約200万円)の募金を始めたことについて、オープンソースの開発手法として違和感を持つ人が少なからずいたようです。 Mac上でのRails開発環境構築は面倒? Tokaidoは、Mac向けのRails.appを作るというプロジェクトです。最近のMac上のRails環境はさまざまなツールが発達していて、インストールすべきツールや、その順序、
2. アプリケーション開発動向 Ruby の概要 Ruby on Rails の概要 Ruby on Rails で作られたアプリケー ション 個人的に思う Ruby on Rails の問題点 地域での Ruby および Ruby on Rails の コミュニティー Ruby & Ruby on Rails 講習会について 2 3. 業務用アプリはネイティブアプリからWEB アプリへ Visual Basic 等で作成して物がWEBアプリへ HTML5やCSS3, JavaScript により画面表現力の 差はなくなった(WEB上でExcelが動く時代) PCがネットワークに接続していなくても オフラインで動くWEBアプリもある PCの中でWEBサーバ動かしてもよい OS、開発言語に依存しない デバイスを直接扱うものには弱い
BPStudy#55 株式会社ビープラウドが主催するWeb系技術討論の会に参加してきました。 勉強会の内容は、Herokuについて。 Herokuのエヴァンジェリストである@ayuminさんによるHerokuについての紹介と、 @mat_akiさんによるSonicGardenでのHeroku実践利用方法の紹介でした。 Herokuの紹介 Herokuについて 最近、Ruby On Rails以外の利用も増えてきており、特にPHPが増加しているとのこと。 背景として、Facebookアプリ開発の増加が挙げられると述べていました。 次に、Herokuの活用事例としてニューヨークシティマラソンの事例を紹介。 ランニングシューズにRFIDを仕込んで、ランナーがチェックポイントを通過する際に電光掲示板に、ランナーに対しての応援メッセージが表示されるというものでした。 また、Herokuについて以下の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く