【RoR】Ruby on Rails Part15
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/07/07(土) 00:50:39.45ID:???http://kohada.2ch.net/test/read.cgi/php/1329492840/
■参考サイト
<英語>
本家:http://rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails
http://ruby-toolbox.com/
http://rubygems.org/
http://agilewebdevelopment.com/plugins/top_rated
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
【ヘロク】 Heroku Part1 【PostgreSQL】
http://toro.2ch.net/test/read.cgi/hosting/1329378677/
0152nobodyさん
2012/07/19(木) 05:02:53.18ID:???google+
0153nobodyさん
2012/07/19(木) 05:16:14.90ID:???http://b.hatena.ne.jp/entry/www.treefrogframework.org/ja/ドキュメント/パフォーマンス比較%23.UAbIZa4NDMg.hatena
0154nobodyさん
2012/07/19(木) 05:28:09.34ID:???普通は
ハッシュキー持たせるかな
before_createで
1.MD5あたりで時間をキーにハッシュ生成
/message/:hash_key
で表示
0155nobodyさん
2012/07/19(木) 05:52:31.53ID:???「2chのトリップとID:xxxxxx」で説明するとmd5ハッシュとsaltの話がピンと来る気がした
http://www.otsune.com/diary/2007/10/24/1.html#200710241
281京4749億7671万0656個のランダム値を全て計算してつきあわせなければならない
0156nobodyさん
2012/07/19(木) 13:18:59.65ID:???ありがとん
メッセージ新規作成のときに
URL messages/new/:username
で送信相手のユーザー名を入れて
メッセージ編集画面を開くのも同様にすべき?
このやり方も不健全?
0157nobodyさん
2012/07/19(木) 13:22:06.49ID:???http://guides.rubyonrails.org/security.html
0158nobodyさん
2012/07/19(木) 15:59:02.27ID:???viewの中で
カラムを表示させるときのことです
(特に入れ子のテーブルの)
表示させようとするカラムのレコードがしょっちゅうNilってことが、あるとします。
その場合、viewに毎回いちいち
if (カラムのテーブル名.カラム名)?
をお尻につけてあげなきゃダメですか?
それとも、もっとスマートな方法はありますか?
0159nobodyさん
2012/07/19(木) 16:52:49.05ID:???設計ミス、はい次。
0160nobodyさん
2012/07/19(木) 17:32:13.02ID:???なぜかというと余計なレコードは増やしたくない。
必要な時だけbuildしてネスト先のレコードを作るようにしているからです。
そのネスト先のレコードを使わないと分かっていても
has_oneなどのアソシエーションをくんでいた場合は
空でもいいから必ずレコードは作っておく必要があるのでしょうか?
0166nobodyさん
2012/07/19(木) 21:19:28.86ID:???これNoMethodError出るよねw
0167nobodyさん
2012/07/20(金) 06:14:23.06ID:???どこがアジャイル開発だ
0169nobodyさん
2012/07/20(金) 12:08:54.42ID:???素人ヘッポコ・プログラマーでも出来る?
HTMLとCSSくらいなら分かる
0170nobodyさん
2012/07/20(金) 12:09:25.65ID:???0171nobodyさん
2012/07/20(金) 13:18:29.99ID:???PostgreSQL Rising
http://wekeroad.com/2012/07/19/postgresql-rising
MySQL is done. It's the Postgres Age. by Jeff Dickey
http://dickey.xxx/mysql-is-done-it-s-the-postgres-age
「MySQLが技術的なギャップを縮めてきているものの、PostgreSQLは優秀で人気がある」
http://www.computerworld.jp/topics/601/
MySQLにはDDLトランザクション処理がないので、
http://www.infoq.com/jp/news/2009/05/heroku-provisionless-revolution
MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.4.2 ロールバックできないステートメント
http://dev.mysql.com/doc/refman/5.1/ja/cannot-roll-back.html
0172nobodyさん
2012/07/20(金) 14:10:58.50ID:???hobo_support の _? を使うときれいにいくぞ:
カラムのテーブル名.カラム名.なんとか if カラムのテーブル名.カラム名
の代わりに
カラムのテーブル名.カラム名._?.なんとか
hobo_support 全体を require すると起動が遅くなるので、必要な定義だけコピペしてもよろしい
0173nobodyさん
2012/07/20(金) 18:39:17.31ID:???http://d.hatena.ne.jp/rx7/20081124/p1
0174nobodyさん
2012/07/21(土) 02:50:05.00ID:???match 'posts/disable/' => 'posts#disable', :via => :post, :as => :disable_post
としていてindexのビューのテーブルにて
削除したい該当レコードにチェックをつけて、
下記で対象を絞り、複数のPostレコードのフラグを一括で書き換え無効(0)にしていたとします。
Post.find_all_by_id(params[:checked].keys) 以下、フラグ変更処理
ここまではうまくいっています。
しかし、posts/show.html.erb
の中に
フラグ書き換えのための下記リンクを
張ると何故か posts/disable.4
に飛ばされてしまいます。
本当は posts/disable/4 に飛ばしてフラグを変えたいのですが何故でしょうか
<%= link_to 'disable', disable_post_path(@post) %>
0175nobodyさん
2012/07/21(土) 07:25:29.58ID:???0176nobodyさん
2012/07/21(土) 09:05:23.73ID:???ありがとうございます
それも試しましたが
そう書くと
indexからチェックをつけてdisableアクションに飛ぶと
なぜか
routing error no route matches [post] "posts/disable/"
になります
showから単独でのdisableをしようと飛ぶと
routing error no route matches [get] "posts/disable/15"
になります
もうこれだけで3日間止まっちゃってます。。。。
0177nobodyさん
2012/07/21(土) 13:10:54.88ID:???じゃなくて
:as => 'disable_post'
じゃね
0179nobodyさん
2012/07/21(土) 14:00:34.40ID:???ちなみに詳細から飛ばす時、GETで飛ばしてるなら当然エラーになる。
あとPUTだと思うぞ。
0180nobodyさん
2012/07/21(土) 20:02:00.33ID:???ありがとう 書かれた通りに直しました。
しかし、いまだに
No route matches [PUT] "/posts/disable/11"
と出ちゃうけど何故でしょうか。。。。
indexのほうは問題ありませんでしたが、
showで posts/disable/11 に飛んで上のエラーが出ます
ちなみにこのように記述しています
routes
match 'posts/disable(/:id)' => 'posts#disable', :via => :post , :as => :disable_posts
view
<%= link_to 'Disable', disable_posts_path(@posts), :method => 'put' %>
controller
def disable
post = Post.find_all_by_id(params[:checked].keys)
...残りの処理...
end
0181nobodyさん
2012/07/21(土) 23:29:59.96ID:???0182nobodyさん
2012/07/21(土) 23:41:06.96ID:???コントローラも下記のように書き換えました
controller
def disable
post = Post.find_all_by_id(params[:id])
...残りの処理...
end
そして routes も
match 'posts/disable(/:id)' => 'posts#disable', :via => :put , :as => :disable_posts
として、複数レコードにチェックつけてsubmitしても
なぜか1レコードしか処理されていないみたいです。
@showから、表示しているレコードのIDだけを、link_toを使って単独で渡して処理する
Aindexから、チェックをつけてる複数のレコードのIDを、submitで渡して処理する
この両者に対応させる処理を1つのアクションに集約するって可能なんでしょうか?
0183nobodyさん
2012/07/22(日) 01:54:37.91ID:???0184nobodyさん
2012/07/22(日) 01:55:28.42ID:???0185nobodyさん
2012/07/22(日) 02:32:01.04ID:???0186nobodyさん
2012/07/22(日) 03:43:23.95ID:???そこは盲点でした
indexのviewはこんなかんじです。 これじゃ配列として>>182に書いたコントローラにパラメータを渡して処理できてない?
<%= form_tag(:action => disable, :via => 'put') do %>
<% @messages.each do |m| %>
<tr>
<td><%= check_box_tag "id",m.id %></td>
<td><%= m.last_message.id %></td>
<% end %>
<%= submit_tag "無効化" %>
0187nobodyさん
2012/07/22(日) 03:47:12.83ID:???こんなもんなんでしょうか???
0188nobodyさん
2012/07/22(日) 15:22:31.84ID:???hoge.com/ユーザー名
とするときに
コントローラーの予約語が入る時以外
→ユーザーの情報に飛ばす
ここのルート設定は問題ないんだけど
新規作成でユーザー名で予約語と被ったときに
弾く方法ってどうすればいいのかな?
バリデーションで予約語は弾く!的なものあったっけ?
0189nobodyさん
2012/07/22(日) 15:46:50.61ID:???ユーザ名にするのは、routesの順番で
0190nobodyさん
2012/07/22(日) 16:06:01.76ID:???たとえばpostsってコントローラーが既にあって
新規ユーザーがpostsってユーザー名で新規登録しようとするのを防ぐには
どうすればいいのかな?
0191nobodyさん
2012/07/22(日) 16:09:32.06ID:???0192nobodyさん
2012/07/22(日) 16:43:36.55ID:???スマートな方法が見つかったら書き換えればいいよ。
0193nobodyさん
2012/07/22(日) 16:49:46.21ID:???0194nobodyさん
2012/07/22(日) 16:57:51.83ID:???んで予約語だのコントローラ名を動的に引っ張ってこれるような上手い方法見つけたら差し替えろってこと
0196nobodyさん
2012/07/22(日) 17:11:32.73ID:???0197nobodyさん
2012/07/22(日) 18:23:58.26ID:???>>194
要するにUser Modelに
コントローラーの数の分だけバリデーションの行を書けってこと?
少しは頭使えよ…
0198nobodyさん
2012/07/22(日) 19:04:56.84ID:GOaeCh76http://blog.shares.ne.jp/2011/12/blog-post_13.html
なぜクックパッドの営業利益率は50%なのか (プレジデント) - Yahoo!ニュース
会員事業が売り上げ全体に占める割合は約60%。これがドル箱
http://zasshi.news.yahoo.co.jp/article?a=20120629-00010000-president-bus_all
http://hyokoya.wordpress.com/2011/05/02/クックパッドというビジネスについて%E3%80%802-%E3%80%80セグメ/
0199nobodyさん
2012/07/22(日) 19:11:40.75ID:GOaeCh76http://profile.yahoo.co.jp/independent/2193
blog::941:クックパッド株式会社 に行ってきた!
http://blog.kushii.net/archives/1350951.html
uby on Rails セミナー(クックパッド)へ行ってきたメモ
http://d.hatena.ne.jp/japanrock_pg/20081120/1227193355
0201nobodyさん
2012/07/22(日) 19:41:44.27ID:GOaeCh76http://stackoverflow.com/search?q=%5Breserved-words%5D+rails
0202nobodyさん
2012/07/22(日) 22:03:35.08ID:GOaeCh76Built-in way to determine whether a string is a Ruby reserved word?
http://stackoverflow.com/questions/6461303/built-in-way-to-determine-whether-a-string-is-a-ruby-reserved-word
0203nobodyさん
2012/07/23(月) 00:13:07.98ID:???User modelに
validates_exclusion_of を使えばいいことは分かったけど、どうやって端的に列挙すればいいのか分からない
0204nobodyさん
2012/07/23(月) 01:39:49.68ID:???validates_exclusion_of :name, :in => ['posts', ...]
配列の部分をDBで管理しておいてもいいけど。
0205nobodyさん
2012/07/23(月) 13:23:02.46ID:???link_toで:action => :newact
っていれただけだと、なぜかshowにidがnewactでわたってエラーになります。
newにnewact.html.erb、contoroller.rbに def newactを足しても
変わりません。
rails generate controller sample newact
ってしたら、書いていた他のactionが全部消えました。
0206nobodyさん
2012/07/23(月) 13:37:11.00ID:ZvaJ+abo「GET」「POST」「PUT」「DELETE」
Skinny Controller, Fat Model
0209nobodyさん
2012/07/23(月) 19:59:58.47ID:9hnh66oE0210nobodyさん
2012/07/24(火) 04:21:55.87ID:z+HRsGzrRailsによるurlの描き方
http://www.slideshare.net/fukajun/railsurl
0211nobodyさん
2012/07/24(火) 12:33:21.04ID:z+HRsGzrhttp://www.ruby-forum.com/topic/4404251
Ruby on Rails: Core - Google グループ
https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core
0212nobodyさん
2012/07/24(火) 12:46:07.03ID:z+HRsGzrhttp://rubygems.org/gems/rails/versions/3.2.7.rc1
0213nobodyさん
2012/07/24(火) 18:53:22.61ID:???その通りでした。
ありがとうございます。
generate controllerすると、route.rbに勝手にgetができるんですね。
0214nobodyさん
2012/07/26(木) 04:54:18.18ID:33u1kgJZ流儀に従ってフォルダパスを取得する方法ありますでしょうか?
image_path() のソースを追ってみたのですが、asset_tag_helper.rb#asset_paths に
入っていった所で断念してしまいました。。
0215nobodyさん
2012/07/26(木) 09:22:16.35ID:KMBCE3o3期待しているものとは違う気がするけど、
Rails.configuration.assets.paths.grep(/images/)
とか?
0216nobodyさん
2012/07/26(木) 22:18:36.72ID:???Railsでのコーディングはだいぶマスター出来たんだが
デザインもやりながらだと尋常じゃなく時間がかかってしまう。
0217nobodyさん
2012/07/27(金) 05:47:59.14ID:???サーバーの管理もやってるよ
デザインはそんな奇抜なものはやってないけどね
これからはMVC分業じゃなくて一人のエンジニアが
全部やっていくなんてことになりそうな勢い
0218nobodyさん
2012/07/27(金) 09:43:41.43ID:/rhnY9UGhttp://weblog.rubyonrails.org/2012/7/26/ann-rails-3-2-7-has-been-released/
Ruby on Rails: Core - Google グループ
https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core
0219nobodyさん
2012/07/27(金) 09:48:13.25ID:/rhnY9UGhttps://github.com/rails/rails/compare/v3.2.6...v3.2.7
0220nobodyさん
2012/07/27(金) 10:10:23.68ID:???デザインはcss程度ってこと?
さすがに画像編集まではやってないよね?
鯖管理とかって、どの程度やってるの?
Railsアプリ動かすためには鯖設定まで当たり前のことだと思ってる
memcacheいじったり、最適化を図ってるってこと?
具体的にどういうことしてるの?
0222nobodyさん
2012/07/27(金) 14:06:24.18ID:???イントラで使うようなシステムのボタンとかの画像編集は自分とこで済ませちゃったりもするけど
外向けのは基本的にデザイナーに外注にだしてるなぁ
フリーランスだから鯖契約からパフォーマンス調整メンテナンスまで全部やるはめになってるねえ。
0223217
2012/07/27(金) 14:44:35.46ID:???デザインというかJavaScriptをやっているといえばよかったかな(当然CSSも
画像の編集はやらない>>222氏の言うとおり外注だったりクライアントが持ってくる
画像をそのまま使ってる
あとアイコンとか角を丸めたり、横線一本のちょっとした画像は自分で作ってる
サーバー管理ってのも正確には間違いでサーバーのセットアップおよびDB構築
(ハードの選定と調整もふくめて)をやってる
ただ最近はレンタルサーバーだからハードの選定ってのはほとんどやってないに等しい
サーバーサイド/クライアントサイドの処理とDBにかかる負荷とかその辺分かってないと
これからは厳しいと思うよ
JqueryでJavascript書けますとかRailsでサーバーサイド処理書けますとか
多分数年後には完全に土方の仕事だよ
0224nobodyさん
2012/07/27(金) 15:23:27.41ID:???企画屋がちょいっと勉強したぐらいでそれなりのものできちゃうし。
0225nobodyさん
2012/07/27(金) 15:32:45.84ID:/rhnY9UGhttps://github.com/rails/rails/issues/7175
0226nobodyさん
2012/07/28(土) 15:52:59.21ID:avv7CnGEhttps://github.com/rails/rails/commit/f1afd7765c2a35cc77e1ee40466db36f181e29f5
0227nobodyさん
2012/07/29(日) 09:37:15.09ID:???0228nobodyさん
2012/07/29(日) 10:38:24.01ID:???学歴積んでコミュ力鍛えて要領よく良い会社に入って中貫する側にまわるとか
SNSとかで名前売って変が企業立ちあげてみるとか
0229nobodyさん
2012/07/29(日) 10:50:02.67ID:???0230nobodyさん
2012/07/29(日) 14:33:49.86ID:K0RFcA0zBundleやAssetsやCoffeeScriptとか、余計なお世話すぎる
アップデートに併せて、毎回全ケーステストやり直しとか、PHPじゃないんだからさ。。
ドキュメントが相変わらず貧弱だから、アップデートに追従するためにはChangelogを常に監視するか
コミュニティで有名人な人の日記を常時ウオッチしてないと付いていけない
ActiveRecordと数点の付属コンポーネントをチョイスして、自前フレームワーク組んだ方がいいわ
更にコンサバを求めるなら、Pythonに転ぶしかないかなぁ
0231nobodyさん
2012/07/29(日) 14:45:03.28ID:???それだと、Rackから車輪の発明するしかなかろ? あるいは、Padrinoで落ち着いている組合せを使うとか?
0232nobodyさん
2012/07/29(日) 15:25:01.10ID:???0233nobodyさん
2012/07/29(日) 16:31:27.27ID:???0234nobodyさん
2012/07/29(日) 17:52:30.97ID:???テーブルなんかが作成された後で
やっぱり使いたくないってなった場合は
どうやったらインストール前の段階に戻せますか?無理?
0235nobodyさん
2012/07/29(日) 18:03:18.93ID:???でもRubyもRailsも、そうなってないじゃないですか
PHPを使っていても、動作がオカシイと思ったらPHPコアのバグだったりして悶絶、
しぶしぶアップデートせざるを得ない、って展開になる訳で
我々はー、PHP4のセキュリティサポートが打ち切られて、PHP5向けに多数を書き直す羽目になった
あの骨折りを忘れていないぞー
0236nobodyさん
2012/07/29(日) 18:33:54.88ID:bt657PD9DBのマイグレーションはrakeで戻して、
コードはgit checkoutなりsvn revertなりすればいい
0237nobodyさん
2012/07/29(日) 19:51:05.83ID:???さっさとpythonだかなんかに移らない人ってなんなの?暇なの?
0238nobodyさん
2012/07/29(日) 23:33:17.72ID:???db はステップバックで戻れそうだけど
それ以外に何が作られたかよく分からないから
戻し方が分からない
git経由じゃなくて
gemに記載→bundle installしたんだけど
0239nobodyさん
2012/07/30(月) 00:26:05.97ID:GgNcwdenプロジェクトをバージョン管理しておいて、やる前の状態に戻せるように
しておいたほうがいい。
作る時の生成メッセージを覚えてはいられないだろうし。
generatorを追加するタイプのものなら、script/rails generateしたものは
script/rails destroy で元に戻してくれる。(generateされたマイグレーション
も消えるので、ダウンマイグレーションを忘れず実行しておくこと)
単にgemを取り除く作業は、Gemfileから消してbundle clean
0240nobodyさん
2012/07/30(月) 00:56:58.62ID:???rails g simple_captcha
rake db:migrate
してしまいました
db:migrateにより新しいテーブルも作られ出来てしまいました
これらを実施する前の状況に何とか戻したいんです
0241nobodyさん
2012/07/30(月) 02:04:23.46ID:GgNcwden1. rake db:migrate で1つ前のバージョンにダウンする。
(simple_captch_data というテーブルが丸ごと消される)
2. db/mibrate/バージョン_create_simple_captcha_data.rb を削除。
3. app/views/simple_captcha と中のファイルを全部消す。
でいいんじゃね?
0243nobodyさん
2012/07/30(月) 03:28:27.29ID:roZLOn75http://www.geocities.jp/stardust774/
0244nobodyさん
2012/07/30(月) 03:28:45.44ID:GgNcwdenrake db:migrate VERSION=指定
2. 消したいマイグレーションファイルを消す
3. (あれば)残りのマイグレーションを rake db:migrate で実施
なお、開発中ならデータベースごと削除して、消したいマイグレーション
だけ取り除いてもう一度rake db:migrateしてしまうのが簡単。
0246nobodyさん
2012/07/30(月) 12:53:48.75ID:???何か言ったか(書き込んだか)と思えば、データだけを食う役にも立たない文句ばかり
こういう奴に限って何の能力も持たず口だけw
0247nobodyさん
2012/07/30(月) 15:26:08.75ID:???サブドメインとして使うことは出来ますか?
http://taro.hogehoge.com
にアクセスすると
users_controllerのshowアクション(ユーザー名はサブドメインで検索して呼び出し)を呼び出すような
0248nobodyさん
2012/07/30(月) 15:30:57.92ID:???mod_rewrite とかでリクエスト書き換えで対応するな、自分なら。
0249nobodyさん
2012/07/30(月) 15:58:35.48ID:roZLOn75http://atashi.net/inu/ja/notes/subdomain_mod_rewrite.html
0250nobodyさん
2012/07/30(月) 16:00:26.43ID:roZLOn75map 'downloads', to: "/downloads/:subdomain"
map '*', to: "/users/:subdomain"
end
https://github.com/mattt/rack-subdomain
0251nobodyさん
2012/07/30(月) 16:03:20.36ID:roZLOn75http://davesouth.org/stories/rack-customdomain-converts-cname-hosts-to-subdomains
■ このスレッドは過去ログ倉庫に格納されています