トップページ⇒php
1001コメント415KB

【RoR】Ruby on Rails Part16

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2013/01/31(木) 08:07:31.27ID:GGHiBszv
前
http://kohada.2ch.net/test/read.cgi/php/1341589839/
http://unkar.org/r/php/1341589839

■参考サイト
<英語>
本家: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/

http://doc.ruby-lang.org/ja/1.9.3/doc/index.html
0061nobodyさん2013/02/09(土) 22:42:13.16ID:???
nginxを使って、時間のかかるアクションはthin
かからないアクションはunicorn とかって出来ますか?
0062nobodyさん2013/02/10(日) 00:32:59.71ID:???
delayed_job
0063nobodyさん2013/02/10(日) 01:34:02.48ID:???
https://devcenter.heroku.com/articles/delayed-job
0064nobodyさん2013/02/10(日) 10:06:29.96ID:???
正直railsはオワコン
0065nobodyさん2013/02/10(日) 11:11:56.80ID:???
バックグラウンド処理じゃなくて
例えばapiを叩いてごにょごにょして出力とかだと時間がかかるので
unicornはそういうのには向いてませんよね。
なのでそれだけthinで出来ないのかなと思ったのでした。
0066nobodyさん2013/02/10(日) 11:29:12.12ID:???
質問させてください


コントローラー
@users = @post.users
@posts = Post.find_all_by_category(params[:category])


ビュー
<%= @users.count %>
<%= @posts.count %>

のようなカウンター値を全てのページで表示させる場合、
カウンターキャッシュを使う方が遙かに処理時間(負荷)は少なくて済みます?

それともどちらにせよ@usersや@postsとして
記事を引っ張り出して
それらを表示させているのであれば

カウンターキャッシュを使わず
.countとしても大して負荷はかからないから気にしなくてもいいですか?

カウンターキャッシュにしてもいいのですが
管理側でphpMyAdminからレコードを消したときに
カウンター値との誤差が出てくるので
できれば.countにしておきたいのですが
どうでしょう?


もしくは、createやdestroyのアクションの際に毎回集計をとりなおして
カラムに正しい集計値を格納してやるのも有りですか?
0067nobodyさん2013/02/10(日) 11:53:06.52ID:???
length とすると countのSQLは発行されず
ロードしたオブジェクトの個数を返すよ
0068nobodyさん2013/02/10(日) 12:15:33.74ID:???
>>67
ありがたや、ありがたや

要するにviewで
<%= @users.length.to_s %>
とすればいいんですね

となるとカウンターキャッシュを使う利点って何になってくるんですか?

・全てのアソシエーションをdependant=>destroy

・webアプリ自体以外からのレコード削除を行わない!


これらを前提としたときだけ
カウンターキャッシュが有用だよ!ってことですか?
0069nobodyさん2013/02/10(日) 12:18:33.72ID:???
>>67
すみません。追加で質問です

コントローラー内でも

@posts = Post.find_all_by_category(params[:category])

@posts_count = @posts.count

これでも二回SQLが発行される
つまり遅い
したがって二行目は

@posts_count = @posts.length
のほうがいい!という認識で合ってますか?
0070nobodyさん2013/02/10(日) 12:23:39.32ID:???
.order("posts_count") とか

includes(:posts)せずに
- @users.each do |user|
 = user.posts_count
とか
0071nobodyさん2013/02/10(日) 12:32:26.80ID:???
>>69 あってると思う
パフォーマンス計測にはbulletとか newrelicがおすすめ。
mysql専用のもあったんだけど名前忘れた。
0072nobodyさん2013/02/10(日) 12:33:30.82ID:???
>>70
ごめんなさい。ちょっと理解できるレベルじゃないみたいです。


>>71
ありがとうございます。
0073nobodyさん2013/02/10(日) 13:14:20.50ID:???
カウンターキャッシュの利用の有効性は>>68に書いた条件でいいですか?
0074nobodyさん2013/02/10(日) 20:31:40.28ID:???
レコードは rails console や、rails admin とか active admin なんかの gem から削除すれば良いよ
カウンターキャッシュに dependent: destroy は関係ないんじゃないかな
0075nobodyさん2013/02/11(月) 12:02:52.87ID:???
外国向けのアプリを作るとき
国によって時間の表示のさせ方を変えるのってどうすればいいですか?
0076nobodyさん2013/02/11(月) 15:33:36.27ID:???
i18n
0077nobodyさん2013/02/11(月) 15:34:47.47ID:n5nNToTb
http://guides.rubyonrails.org/i18n.html
0078nobodyさん2013/02/11(月) 15:40:52.68ID:???
>>76
>>77
ありがとう
i18nって変動する値には対応してないという認識なんだけど

言葉みたいな固定のものだけを
言語設定にあわせて表示してくれるかんじ

各国のユーザーが投稿しはじめたら
イギリスの標準時間に合わせて保存しておいて
表示させるときにどうにか計算させなおして
表示させるのかな?
仕組みが良く分からない
0079nobodyさん2013/02/11(月) 16:22:57.02ID:???
この記事参考になるんじゃないかな
http://qiita.com/items/68341489a9c5149b815d
0080あ2013/02/11(月) 18:25:58.92ID:???
I18n.localize Time.now
http://d.hatena.ne.jp/willnet/20100430/1272618929

http://www12.atpages.jp/~nekomike/blog/2010/05/11/rails-日付を国際化-表示/
0081あ2013/02/12(火) 04:12:29.01ID:???
Riding Rails: [SEC][ANN] Rails 3.2.12, 3.1.11, and 2.3.17 have been released!
http://weblog.rubyonrails.org/2013/2/11/SEC-ANN-Rails-3-2-12-3-1-11-and-2-3-17-have-been-released/

https://github.com/rails/rails/compare/v3.2.11...v3.2.12
0082nobodyさん2013/02/12(火) 11:01:11.07ID:6eTPG0HR
ActiveRecordとマルチスレッドの組み合わせで教えてください。抜粋ですが以下のようなスクリプトです。
ruby1.9 rails3.2です。

ActiveRecord::Base.configurations["working"]= {
:adapter => 'sqlite3',
#:database => ':memory:'
:database => DATABASE
}
module Working
ActiveRecord::Base.establish_connection "working"
class Dealer < ActiveRecord::Base
end
unless Dealer.table_exists?
ActiveRecord::Schema.define do
create_table "dealers" do |t|
t.column :no, :integer
...
t.column :capital, :integer
end
end
end
end
FROM
record = Working::Dealer.new
record.no, ... , record.capital = [num, ... , capital]
record.save!
Working::Dealer.connection.close
TO
FROMからTOのの部分がマルチスレッドで動きます。
データベースを実ファイルにしているときはエラーになりません。
0083nobodyさん2013/02/12(火) 11:08:54.84ID:6eTPG0HR
しかし,:memory:にすると、record.save!の行で
DEPRECATION WARNING: Database connections will not be closed automatically,
please close your database connection at the end of the thread by calling `close` on your
connection. For example: ActiveRecord::Base.connection.close
. (called from mon_synchronize at /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211)
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sqlite3-1.3.7/lib/sqlite3/database.rb:91:
in `initialize': SQLite3::SQLException: no such table: dealers:
INSERT INTO "dealers" ("capital",...,"no") VALUES (?,..., ?) (ActiveRecord::StatementInvalid)
のエラーが出てしまいます。
これはデータベースへのアクセススピードが速すぎて,競合してしまっているのでしょうか?
レコードの追加のみなので,特にトランザクションやロックを考慮していないのが原因なのでしょうか?

ググっても手がかりがつかめなかったので,すみませんが教えてください。
0084nobodyさん2013/02/12(火) 11:51:52.90ID:???
誰もそんな高レベルな質問分からないよ
0085nobodyさん2013/02/12(火) 12:49:54.80ID:???
単純にスレッドが終わるの待ってないからでは。
エラー内容も読んでね。
0086832013/02/12(火) 17:19:58.23ID:6eTPG0HR
DEPRECATION...のエラー(ウォーニング)のほうは問題ないようです。
(connection.closeが呼ばれる前に,エラーでストップするからだけのよう?ウォーニングがでないときもある)
追尾のために
ActiveRecord::Base.connection_pool.with_connection do
print "pool, "
Working::Dealer.transaction do
print "transaction, "
record = Working::Dealer.new
print "new, "
record.lock!
print "lock, "
record.no,..., record.capital = [num,..., capital]
print "=, "
record.save!
p record
end
としたところ。(3つスレッドが作られて)
-- create_table("dealers")
-> 0.0182s
pool, pool, pool, transaction, transaction, transaction, new, new, new, lock, lock, =, lock, =, =
in `initialize': SQLite3::SQLException: no such table: dealers: INSERT INTO "dealers"...(ActiveRecord::StatementInvalid)
という結果でした。
テーブルが作られたにもかかわらず,`無い'というエラーなので、どうもわかりません。
もしかして,:memory:でやっているので,スレッドがメモリを食い尽くしてしまっているのでしょうか?
0087nobodyさん2013/02/12(火) 23:00:08.94ID:IdZcVAQx
Rails SQL Injection Examples
http://rails-sqli.org/
0088nobodyさん2013/02/13(水) 11:27:53.61ID:???
RailsとCakePHPの両方やったが
Railsのメリットってなに?

CakePHPならレンタル鯖だろうが
ぶっこむだけで動き出すじゃん

しかも、鯖のメンテはホスティング会社が勝手にやってくれる

RailsはVPS以外では使えないし
そもそも一から必要なものをいろいろとSSHで入れていかなきゃダメ
かなりメンドイ

しかも、入れていくにしても
パッケージのバージョンの依存関係のせいでエラー勃発しまくり
まともな組み合わせを探せるまで
相当時間がかかる

時間が経てば旧バージョンを落とせなくなってたりもするし

そこまでしてなんでRailsを選ぶの?
何がそうさせる?
0089nobodyさん2013/02/13(水) 11:28:44.91ID:???
下手したらデプロイのほうが開発より時間かかる

とくにgemを多用してたりすると
0090nobodyさん2013/02/13(水) 13:04:59.79ID:???
Ruby+Railsは、PHP+CakePHPと比べて快適だから。
感覚的な問題だから、PHPのほうがいいという人もいるだろうし
そういう人はPHPを使ったほうがいいでしょう。
0091nobodyさん2013/02/13(水) 13:31:46.53ID:???
>>90
具体的にどういうふうに?
0092nobodyさん2013/02/13(水) 17:06:13.31ID:???
海外のVPS借りてる人いますか?

ftpでファイルをちょっと書き換えてアップとか
SSHが遅いんだけど、海外鯖だとこんなもんなのかな?
0093nobodyさん2013/02/13(水) 18:47:01.03ID:???
海外だとRTT大きいしSSHとかだと当然そうなるんじゃないの
0094nobodyさん2013/02/13(水) 20:17:35.22ID:???
>>91
感覚的にって書いてあるだろ。
日本語読めよ
0095nobodyさん2013/02/13(水) 21:39:34.56ID:???
しばらくは自己弁解モードでした。Rubyに変更しないための理由を作っていました。
一日経つと「Rubyが本当に好き」になり、一週間経つと「PHPには戻れない」状況になりました。
http://capsctrl.que.jp/kdmsnr/wiki/transl/?AnInterviewWithDHH

DHH:極端なことを言うと,Rubyが一番美しく自分のコードが書けるからです。
DHH:PHPとJavaです。でも,どんなにリファクタしても綺麗なコードが書けなかった。
http://gihyo.jp/dev/serial/01/alpha-geek/0004

404 Blog Not Found:そろそろPHPに関して一言いっとくか
http://b.hatena.ne.jp/entry/blog.livedoor.jp/dankogai/archives/50835571.html
http://b.hatena.ne.jp/entry/blog.livedoor.jp/dankogai/archives/50993137.html
0096nobodyさん2013/02/13(水) 21:40:10.01ID:pFcuxYSR
インタビュー:[楽天]Ruby活用事例とROMA,Fairy|gihyo.jp … 技術評論社
http://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。

第4回 Railsに変えてよかった!:iKnow!の場合 | Think IT
http://thinkit.co.jp/article/156/4?page=0,1
3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。
またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。
0097nobodyさん2013/02/13(水) 21:41:01.88ID:???
食べログの画面数は約200あるが,開発に取りかかって約2カ月で完成した。
「VBscriptならこの倍,PHPでも1.5倍はかかっていたのではないか」
コード量も10分の1になった。
http://itpro.nikkeibp.co.jp/article/OPINION/20071031/286028/
0098nobodyさん2013/02/13(水) 22:39:37.17ID:pFcuxYSR
https://twitter.com/junya/status/301581347649122306


https://twitter.com/Espen_Antonsen/status/299665397404274689
0099nobodyさん2013/02/13(水) 23:34:24.94ID:???
バージョンの依存関係で悩んだことなんてないぞ
もしかしてwindowsで使ってるimagemagickのひと?
0100nobodyさん2013/02/14(木) 05:20:58.50ID:XsxLpfIW
Show HN: Build your own Heroku on your own servers | Hacker News
http://news.ycombinator.com/item?id=5213862

Cloud 66 | Code to Cloud in 5 minutes
https://www.cloud66.com/
0101nobodyさん2013/02/14(木) 05:28:46.90ID:???
Automate Amazon Web Services - Skeddly
http://www.skeddly.com/

Ruby On Rails and PHP Cloud Hosting PaaS | Managed Rails Development
http://www.engineyard.co.jp/
0102nobodyさん2013/02/14(木) 07:34:01.22ID:XsxLpfIW
http://rapgenius.com/James-somers-herokus-ugly-secret-lyrics
0103nobodyさん2013/02/14(木) 07:45:28.88ID:XsxLpfIW
http://news.ycombinator.com/item?id=5215884
0104nobodyさん2013/02/14(木) 15:23:52.55ID:???
質問させてください

アメリカのVPSサーバー
日本国内のドメイン管理会社を使った場合

アメリカ人が現地でアクセスするとき
若干速度は落ちますか?

対策としてドメインもアメリカの管理会社に任せるべきですか?

それとも、速度は変わらない?
0105nobodyさん2013/02/14(木) 17:54:10.11ID:???
「DNSの浸透待ち」は回避できる――ウェブ担当者のためのDNS基礎知識 -INTERNET Watch
http://internet.watch.impress.co.jp/docs/special/20120227_514853.html
0106nobodyさん2013/02/14(木) 22:39:41.85ID:???
環境によるとしか言い様がないけど、ほとんど変わらないと思う
最悪でも、名前解決の最初の一回だけ、ややレスポンスが遅くなるくらいだと思う
後はローカルや使ってるDNSキャッシュで解決するだろうし
0107nobodyさん2013/02/15(金) 00:21:15.79ID:???
>>106
ありがとうございます
気にすればいいのは
VPSサーバーだけですね

同じアメリカのサーバーでも
結構、日本からのpingの速さとかFTPの速度って差があるもんですか?

同じアメリカ内のサーバーなら
あまり変わらない?
0108あ2013/02/15(金) 01:18:49.41ID:???
アメリカは砂漠などには回線を引かないので、
実際には都市と都市をつないで、広い国土の中にまばらに小さいIX(インターネットエクスチェンジ)がたくさんある形になっているんです。
途中、遅い回線も平気であります。
http://www.sakura.ad.jp/casestudy/c05_dedicated_fluxflex.html
0109nobodyさん2013/02/15(金) 04:56:57.15ID:???
じゃあ日本からだと基本的に西海岸のサーバーの方がpingがいいのかな?
よくMMOとかでサーバーを東海岸か西海岸か選べたりするけど
0110nobodyさん2013/02/15(金) 08:43:51.62ID:???
距離があるんだから、遅延あるのは当たり前
AWSで西海岸と日本で作って試してみ
0111nobodyさん2013/02/15(金) 08:58:54.58ID:8vTfrSUf
Rails 3.2.10 Remote Code Execution &#8212; Charlie Somerville  
ttp://charlie.bz/blog/rails-3.2.10-remote-code-execution
0112nobodyさん2013/02/15(金) 14:33:50.91ID:???
日本からアメリカ鯖に立てたアプリにアクセスすると若干モッサリです

しかし現地アメリカの人たちはサクサクとアクセス出来てますか?
確認する方法などありますか?
アメリカ国内から何とか、そのアプリ鯖にping打って試したいです
0113nobodyさん2013/02/15(金) 21:51:46.21ID:???
>>112
railに関係ない
0114nobodyさん2013/02/16(土) 20:55:00.09ID:ieTdgalI
Heroku | Routing Performance Update  
https://blog.heroku.com/archives/2013/2/16/routing_performance_update
0115nobodyさん2013/02/17(日) 00:15:15.09ID:???
質問です。

.order('created_at DESC').limit(10)
の様にして最新の10件を抜き出し、
viewへの出力の段にてこれを逆順に出力したいのですが、いい方法が
思いつきません(z-indexを利用せずに新しいものを最前面に表示させたい)。

なにか良い方法はありますでしょうか?
0116nobodyさん2013/02/17(日) 00:36:12.93ID:???
ASC
DESC
0117nobodyさん2013/02/17(日) 00:57:41.40ID:???
>>116
.order('created_at ASC').each do
の様にviewを書いても変わりませんし(そりゃそうか)

んんん・・・
0118nobodyさん2013/02/17(日) 01:16:11.73ID:???
こういうことかな
@entries.reverse.each do
0119nobodyさん2013/02/17(日) 01:21:24.75ID:???
>>118
抱いて下さい
0120nobodyさん2013/02/17(日) 01:40:20.32ID:???
ActiveRecord::Relation は Enumerable を include してるんじゃなくて
ActiveRecord::Delegation で委譲してるって理解であってますか?
0121nobodyさん2013/02/17(日) 08:31:05.00ID:SqhksB7T
rails4
http://www.amazon.co.jp/gp/product/4774155071
0122nobodyさん2013/02/17(日) 13:59:34.77ID:???
railsというかrubyの質問かもしれません
昨日よりrubyを触り始めたんですが、命名規則で悩んでいます
アンダースコアとキャメルケースは使い分ける必要がありますか?
片っ端からキャメルケースだと今までの経験上楽なんですけど、
いろいろ読んでるとアンダースコアとキャメルケースが混在してるので気になりました。
01231222013/02/17(日) 15:18:22.92ID:???
すいません、流してください
0124nobodyさん2013/02/18(月) 08:32:17.40ID:???
G-WAN is a Web Application Server with ANSI C scripts and a Key-Value store which outperform all other solutions.
http://b.hatena.ne.jp/entry/gwan.ch/

G-WAN - Web Application Server | Hacker News
http://news.ycombinator.com/item?id=4109698
0125nobodyさん2013/02/18(月) 12:23:32.29ID:???
railsでそのページの読み込みにかかった時間をユーザーに表示したいのですがどんな方法がありますか?
beforefilterで、@time = Time.now.to_i
して、
application.html,erb の最後でTime.now.to _i - @time をしてもマイナスになったりプラスになったりします
0126nobodyさん2013/02/19(火) 01:08:03.88ID:QDksJcEe
https://twitter.com/shobotch/status/303494070712541184
https://twitter.com/6mx/status/303494823715942400
0127nobodyさん2013/02/19(火) 11:07:05.23ID:???
全自動パラメータチューニングさん // Speaker Deck
http://b.hatena.ne.jp/entry/s/speakerdeck.com/mirakui/quan-zi-dong-parametatiyuningusan
0128nobodyさん2013/02/20(水) 01:17:24.73ID:kKKYc1q5
Shelly Cloud  
https://shellycloud.com/
0129nobodyさん2013/02/20(水) 01:47:38.41ID:kKKYc1q5
Amazon Web Services ブログ: 【AWS発表】AWS OpsWorks - Chefを使って柔軟にクラウド内のアプリケーション管理ができる新サービスを発表
http://aws.typepad.com/aws_japan/2013/02/aws-opsworks-flexible-application-management-in-the-cloud.html
0130nobodyさん2013/02/20(水) 03:13:42.92ID:???
EC2インスタンスにインストールするために、Chefのレシピを使うことができます。
AWS OpsWorksのご利用には、追加の料金はかかりません。
アプリケーションで使っているAWSのリソース(EC2インスタンス、EBSボリュームなど)だけの支払いでOKです。
http://aws.typepad.com/aws_japan/2013/02/aws-opsworks-flexible-application-management-in-the-cloud.html

Engine Yard Cloud は Amazon Elastic Compute Cloud (EC2) 上で稼働しており、Engine Yard Cloud のデプロイ環境に対して、
追加で Amazon のサービスをご利用になる場合には、Amazon 料金の 20% 増しの料金でご利用いただけます。
http://www.engineyard.co.jp/products/cloud/pricing

HerokuからEngine Yardに移行させる時にはこれで自動化「Engine Yard Migrate」
http://www.moongift.jp/2011/03/20110326/
0131nobodyさん2013/02/20(水) 11:52:04.32ID:kKKYc1q5
https://gist.github.com/mala/4986504
0132nobodyさん2013/02/20(水) 14:43:44.90ID:???
とある記事をFavoった人が他にFavoってる記事を表示したいです

Entry User Favorite

のモデルがあって

user_list = User.joins(:favorite).where(favorites: {entry_id: @entry.id}).pluck("users.id")
@data_list = Entry.joins(favorites: :user).where(users: {id: user_list}).order("favorites.id DESC").limit(10)

このように取得しているのですが、お気に入りしているユーザー数が1000人くらいを超えている場合2個目の検索で1000msほどかかってしまいます
何かしらよい方法はないでしょうか?
0133nobodyさん2013/02/20(水) 16:19:34.51ID:???
"Entry"というモデル名をさける
http://www.ustream.tv/recorded/25419544

Enumerable#entries
http://ruby-doc.org/core-1.9.3/Enumerable.html
0134nobodyさん2013/02/20(水) 16:23:14.78ID:???
なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT
http://www.atmarkit.co.jp/news/201004/19/twitter.html
0135nobodyさん2013/02/20(水) 16:47:51.33ID:???
>>125
試してみたけどマイナスになることはなかった
>>132
user_list に limit 付けるとかは駄目なの?
0136nobodyさん2013/02/20(水) 23:31:40.12ID:???
それで発行されるであろうSQLで1000msかかるのは単にindexが貼られてないからだと思う
entriesテーブルに、user_idとfavorite_idの複合index貼れば10ms以下になると思う
0137nobodyさん2013/02/21(木) 01:40:33.44ID:???
複合インデックスの落とし穴 | がっとな日々 | ガットコンピューター
http://www.gatc.jp/gat/it/it02dbindex.html

データベースを管理する ー インデックスをはる 其の二 | アカツキ メンバーズ ブログ Akatsuki Member's Blog
http://tech.aktsk.jp/%E6%8A%80%E8%A1%93/database/20111130/228
0138nobodyさん2013/02/23(土) 12:32:35.13ID:???
RailsによるアジャイルWebアプリケーション開発の12章(p149)を勉強中なのですが、
Functionalテストのorders_controller_test.rbの中で、
以下のような記述がありました。

get :new,{},{cart_id: cart.id}

上記の:newの後の"{}"が分からないです。
因みにgetメソッドの構文は以下の通りです。

get(action [,params[session[,flash]])

この"{}"はorder_idの分と考えて良いですか?
削除するとCommand Failedが発生します。
0139nobodyさん2013/02/23(土) 18:15:27.80ID:SC4SCbPW
>>138

yes

get action
get action, params
get action, params, session
get action, params, session, flash

のいずれかの呼び出しが出来るわけだが、paramsが空だからと言って
書かずにいると、形式的には2番目の構造になるので、セッションのデー
タとして渡すはずの { cart_id: cart.id } が params だと見なされてしまう。
0140nobodyさん2013/02/23(土) 20:51:37.27ID:???
Gemの一部分を上書きしたい(いわゆるモンキーパッチを当てたい)のですが
どういうふうにやれば当てられるのかさっぱりわかりません……

方法を教えていただけませんでしょうか
0141nobodyさん2013/02/23(土) 20:53:12.15ID:???
config/initialize/
の中に

module RailsAutolink::ActionView::Helpers::TextHelper
class auto_link

hogehoge

end
end

と書いてみたのですが上書き出来ずno method errorが発生しました
0142nobodyさん2013/02/23(土) 21:21:43.09ID:???
君には無理っぽい
この問題を解決してもすぐ次の問題にぶちあたってここに聞いてくる姿が目に見える
0143nobodyさん2013/02/24(日) 06:42:01.68ID:???
>>139
ありがとうございます
理解できました
0144nobodyさん2013/02/24(日) 09:10:42.88ID:???
>>141
その様子だと、まず ruby の基礎から勉強するしかない
0145nobodyさん2013/02/24(日) 11:38:16.50ID:???
たぶん、そのまま空のハッシュの意味だと思う

メソッドとかで、なくてもいいけど、あったら評価したいような引数はハッシュでとって、
メソッド (オプション1: バリュー,オプション3:バリュー)
って書けるようにするのが多い
0146nobodyさん2013/02/24(日) 11:40:07.48ID:???
>>145
へんなこと書いてた
無視して
0147nobodyさん2013/02/24(日) 16:07:11.62ID:???
Python,PHP,Rubyとやってきたけど、railsを超えるフレームワークってなさげやな(超えるが主観的すぎるけど)
Node.jsも時代を変えるとか言われたが、実際使ってみるとかなり動的なサービスでないとパワーを発揮できないし、やはりrailsが王道
0148nobodyさん2013/02/24(日) 19:55:56.11ID:???
Railsも4.0で迷走しそうだけどな
0149nobodyさん2013/02/24(日) 23:34:05.86ID:???
Rubyは今日で二十周年だったな
Ruby 2.0.0-p0 リリース
0150nobodyさん2013/02/25(月) 18:24:10.37ID:???
>>147
Railsって、ライブラリ(gem)の豊富さが他Webフレームワークに比べてピカイチだと思う。
でも、全部JavaScriptでいけるMeteorとか、今後の競合になりそうだよね。
あれでライブラリが豊富になったら、Railsにとってかなり手強い相手になりそうだ。
0151nobodyさん2013/02/25(月) 22:04:40.14ID:ju6SM6+y
http://ruby-toolbox.com/
0152nobodyさん2013/02/26(火) 15:38:59.44ID:LQxRW7Ck
Riding Rails: Rails 4.0: Beta 1 released!  
http://weblog.rubyonrails.org/2013/2/25/Rails-4-0-beta1/
0153nobodyさん2013/02/26(火) 17:51:22.17ID:bbsNYoxv
has_manyのアソシエーション条件をfindする前などに動的に変更するにはどうしたらいいのでしょうか?
リミットをコントローラ側で指定したいのですが…
0154nobodyさん2013/02/26(火) 21:22:06.16ID:W42IkqHU
何を尋ねられているか分からん。

foo.bars.limit(LIMIT).where(...) とかより複雑な話?
0155nobodyさん2013/02/26(火) 23:32:30.36ID:bbsNYoxv
>>154
例えばモデルの設定ではリミットを設けないけれど、ある状況でコントローラで取得する際にはリミットを設ける場合を想定しています
01561552013/02/27(水) 12:15:59.99ID:???
すいません自己解決しました
cakePHPのようにコントローラで条件を弄れると思っていたのですが、モデル側でclass_nameを使って条件を複数用意しておけばよかったんですね
0157nobodyさん2013/02/27(水) 13:37:52.33ID:N+jceXYU
Railsのclass_nameは使ってはいけない。|WEBデザイン Tips  
http://blog.digital-squad.net/article/125116877.html
0158nobodyさん2013/02/28(木) 11:46:21.42ID:???
Hobo 2.0.0 released!
http://hobocentral.net/blog/2013/02/27/2-0-0-final
相変わらずヘビーな
0159nobodyさん2013/02/28(木) 12:12:05.74ID:Cb5/migA
http://vimeo.com/60361566

http://vimeo.com/60361561
0160nobodyさん2013/02/28(木) 20:45:14.28ID:???
>>158
Hoboなんての初めて知った。
ググってみたけど、日本の記事はほとんどヒットしないね。
使ってる人いるのかな?
0161nobodyさん2013/03/01(金) 15:50:20.83ID:???
色々便利ですよ。記述量も Rails から更に減る。
分かりやすい model ベースの permission、
erb 使わなくて済む & tablib を作れる dryml、
taglib の rapid、
migration generator、
あとは HoboSupport の _? とか *。
ただ、magical すぎて、慣れないとうまく動かないときの原因究明に時間がかかることがあるのと、
Rails が更に遅くなる。
■ このスレッドは過去ログ倉庫に格納されています