【RoR】Ruby on Rails Part16
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/01/31(木) 08:07:31.27ID:GGHiBszvhttp://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
0136nobodyさん
2013/02/20(水) 23:31:40.12ID:???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:???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:SC4SCbPWyes
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:???どういうふうにやれば当てられるのかさっぱりわかりません……
方法を教えていただけませんでしょうか
0141nobodyさん
2013/02/23(土) 20:53:12.15ID:???の中に
module RailsAutolink::ActionView::Helpers::TextHelper
class auto_link
hogehoge
end
end
と書いてみたのですが上書き出来ずno method errorが発生しました
0142nobodyさん
2013/02/23(土) 21:21:43.09ID:???この問題を解決してもすぐ次の問題にぶちあたってここに聞いてくる姿が目に見える
0145nobodyさん
2013/02/24(日) 11:38:16.50ID:???メソッドとかで、なくてもいいけど、あったら評価したいような引数はハッシュでとって、
メソッド (オプション1: バリュー,オプション3:バリュー)
って書けるようにするのが多い
0147nobodyさん
2013/02/24(日) 16:07:11.62ID:???Node.jsも時代を変えるとか言われたが、実際使ってみるとかなり動的なサービスでないとパワーを発揮できないし、やはりrailsが王道
0148nobodyさん
2013/02/24(日) 19:55:56.11ID:???0149nobodyさん
2013/02/24(日) 23:34:05.86ID:???Ruby 2.0.0-p0 リリース
0150nobodyさん
2013/02/25(月) 18:24:10.37ID:???Railsって、ライブラリ(gem)の豊富さが他Webフレームワークに比べてピカイチだと思う。
でも、全部JavaScriptでいけるMeteorとか、今後の競合になりそうだよね。
あれでライブラリが豊富になったら、Railsにとってかなり手強い相手になりそうだ。
0151nobodyさん
2013/02/25(月) 22:04:40.14ID:ju6SM6+y0152nobodyさん
2013/02/26(火) 15:38:59.44ID:LQxRW7Ckhttp://weblog.rubyonrails.org/2013/2/25/Rails-4-0-beta1/
0153nobodyさん
2013/02/26(火) 17:51:22.17ID:bbsNYoxvリミットをコントローラ側で指定したいのですが…
0154nobodyさん
2013/02/26(火) 21:22:06.16ID:W42IkqHUfoo.bars.limit(LIMIT).where(...) とかより複雑な話?
0155nobodyさん
2013/02/26(火) 23:32:30.36ID:bbsNYoxv例えばモデルの設定ではリミットを設けないけれど、ある状況でコントローラで取得する際にはリミットを設ける場合を想定しています
0156155
2013/02/27(水) 12:15:59.99ID:???cakePHPのようにコントローラで条件を弄れると思っていたのですが、モデル側でclass_nameを使って条件を複数用意しておけばよかったんですね
0157nobodyさん
2013/02/27(水) 13:37:52.33ID:N+jceXYUhttp://blog.digital-squad.net/article/125116877.html
0158nobodyさん
2013/02/28(木) 11:46:21.42ID:???http://hobocentral.net/blog/2013/02/27/2-0-0-final
相変わらずヘビーな
0159nobodyさん
2013/02/28(木) 12:12:05.74ID:Cb5/migAhttp://vimeo.com/60361561
0160nobodyさん
2013/02/28(木) 20:45:14.28ID:???Hoboなんての初めて知った。
ググってみたけど、日本の記事はほとんどヒットしないね。
使ってる人いるのかな?
0161nobodyさん
2013/03/01(金) 15:50:20.83ID:???分かりやすい model ベースの permission、
erb 使わなくて済む & tablib を作れる dryml、
taglib の rapid、
migration generator、
あとは HoboSupport の _? とか *。
ただ、magical すぎて、慣れないとうまく動かないときの原因究明に時間がかかることがあるのと、
Rails が更に遅くなる。
0162nobodyさん
2013/03/01(金) 18:41:59.48ID:???で指定したアクションの途中で条件によってキャッシュしないことにできない?
具体的にはpaginationのあるページで最終ページだけはページキャッシュしたくない
0163nobodyさん
2013/03/01(金) 22:47:26.56ID:gDaa9weTページキャッシュの実装はafter_filterなので、アクション処理の「途中で」
ってのは難しいかも。
0164nobodyさん
2013/03/02(土) 09:03:36.86ID:jmXZJcwyshowでインスタンス変数に条件セットして:ifでattr_readerの名前指定したらいけた
0165155
2013/03/02(土) 15:53:26.74ID:???動作確認をするときにソースの見通しが悪いと不便になりそうなので気にかかります
0166nobodyさん
2013/03/02(土) 16:10:57.91ID:AzwBGg8Lhttp://www.ustream.tv/recorded/25419544
Enumerable#entries
http://ruby-doc.org/core-1.9.3/Enumerable.html
0167nobodyさん
2013/03/04(月) 13:56:38.13ID:zJe7Zmvl| 縦棒
とかを使えば改行出来たはず。
0168nobodyさん
2013/03/06(水) 21:49:04.93ID:???メーラーを使う際に、DB上では
-------この次の行から------
一行目
三行目
四行目
-------この前の行まで------
という文字列が格納されています。これは
body = params[message][body]
でフォームに入力された文字列が改行も含めbodyカラムに格納されます。
メーラーのテンプレートは↓です
<p>
<%= @message.body.html_safe %>
</p>
送信されてくるHTMLメールでの表記が
一行目三行目四行目
というように改行を無視して繋がってしまいます。
ビュー上、またはコントローラー上で
改行を<br>に置き換えるには、
どのようにすれば可能ですか?
(gemを利用しておりモデルを改変することが出来ません)
0169nobodyさん
2013/03/06(水) 22:40:46.81ID:0aWWruQm地道に置換してもいいし、simple_format というヘルパもある。
0170nobodyさん
2013/03/06(水) 22:50:47.95ID:???simple_formatってgemでしたっけ?
controllerを介さず
view内だけで置換って出来ましたっけ?
0171nobodyさん
2013/03/06(水) 23:43:29.42ID:0aWWruQm0172nobodyさん
2013/03/07(木) 00:11:48.78ID:???ありがとうございます。
0173nobodyさん
2013/03/12(火) 12:46:09.07ID:???0174nobodyさん
2013/03/12(火) 18:18:50.06ID:???gemによる拡張性が大きいから使いこなすには時間かかるかもしれないけど
0175あ
2013/03/12(火) 19:33:55.07ID:HwSt3WT4get '/hi' do
"Hello World!"
end
http://www.sinatrarb.com/
0176あ
2013/03/12(火) 19:36:21.36ID:HwSt3WT4http://blog.livedoor.jp/zep716/archives/24182409.html
0177あ
2013/03/12(火) 19:39:18.67ID:HwSt3WT4Railsでは規約(conventions)に従って、自動的に設定が行われます。
それがconventions over configurationです。
たとえばpeopleというクラスを定義すれば、
規約に基づいて自動的にその単数形であるpersonと関連付けられます。
設定ファイルを記述する必要はありません。
http://itpro.nikkeibp.co.jp/article/NEWS/20060620/241346/
0178nobodyさん
2013/03/12(火) 20:09:07.89ID:HwSt3WT40179nobodyさん
2013/03/13(水) 11:42:02.60ID:???http://engawa.2ch.net/test/read.cgi/poverty/1363142026/
0180nobodyさん
2013/03/14(木) 09:44:29.02ID:SnFlKftvhttps://coderwall.com/p/5cafjw
1600% faster app requests with Rails on Heroku | Hacker News
https://news.ycombinator.com/item?id=5370465
0181nobodyさん
2013/03/16(土) 22:24:52.43ID:???ちゃんとベンチマーク取ってないけど、PHPと遜色ないレベルになった気がする
0182nobodyさん
2013/03/18(月) 05:42:46.82ID:???0183あ
2013/03/18(月) 09:43:11.15ID:io66Pxmfhttp://balderdashy.github.com/sails/
0184nobodyさん
2013/03/18(月) 09:48:45.05ID:io66Pxmfhttp://weblog.rubyonrails.org/2013/3/7/Rails-3-2-13-rc2-has-been-released/
0185nobodyさん
2013/03/18(月) 09:51:29.41ID:io66Pxmfhttp://www.pogoapp.com/blog/posts/websockets-on-rails-4-and-ruby-2
0187あ
2013/03/19(火) 01:54:48.68ID:HY0pwsvChttp://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。
0188あ
2013/03/19(火) 04:59:47.29ID:HY0pwsvCCVE-2013-1854 Symbol DoS vulnerability in Active Record
CVE-2013-1855 XSS vulnerability in sanitize_css in Action Pack
CVE-2013-1856 XML Parsing Vulnerability affecting JRuby users
CVE-2013-1857 XSS Vulnerability in the sanitize helper of Ruby on Rails
http://weblog.rubyonrails.org/2013/3/18/SEC-ANN-Rails-3-2-13-3-1-12-and-2-3-18-have-been-released/
0189nobodyさん
2013/03/19(火) 07:23:46.26ID:HY0pwsvChttp://b.hatena.ne.jp/entry/d.hatena.ne.jp/iad_otomamay/20130318/1363596244
0190nobodyさん
2013/03/19(火) 18:14:14.66ID:???引数で来たインスタンスの型チェックというのは、皆さん されるものなのでしょうか?
def hoge(user, hoge)
raise unless user.class == User
user.hoge = hoge
user.update!
end
みたいな感じで。
動的言語としてのRubyの性質やらを考えると、型チェックはしないのが普通なのかなとは思うのですが
記述ミスで、このメソッドを hoge(employ) とコールしてしまった場合
(userインスタンスでなく、employインスタンスを渡してしまった)に、
Employクラスにも、たまたま hoge属性があったら
エラーが起こらず そのまま通ってしまう場合が恐ろしく感じるのです
しかもテストでは比較的、発見しづらいミスだとも思います
0191nobodyさん
2013/03/21(木) 07:20:26.19ID:???0192nobodyさん
2013/03/21(木) 11:56:46.92ID:???0193nobodyさん
2013/03/21(木) 14:23:23.88ID:???ttp://ja.wikipedia.org/wiki/Sinatra
0194nobodyさん
2013/03/21(木) 15:28:25.25ID:NjlQYcmr0195nobodyさん
2013/03/21(木) 19:02:43.03ID:NjlQYcmr0196nobodyさん
2013/03/21(木) 23:15:13.47ID:???0197nobodyさん
2013/03/22(金) 07:04:33.80ID:XkfKnkyPhttps://twitter.com/cat/status/314257831148797952
https://github.com/re4k
http://whois.ansi.co.jp/re4k.info
0198nobodyさん
2013/03/22(金) 07:43:54.20ID:XkfKnkyPhttps://twitter.com/cat/status/314716260250296320
0199nobodyさん
2013/03/22(金) 08:34:30.49ID:???nginx + passenger + rails ですか?
ちなみに、passenger が何者で、何してるものなのか、なんで必要なのかが分からず聞いてますw
0200nobodyさん
2013/03/22(金) 09:31:55.23ID:???0201nobodyさん
2013/03/22(金) 15:37:55.54ID:???class User < ActiveRecord::Base
scope :search, lambda { |name|
where("name = ?", "#{name}")
}
end
where("name = ?", "#{name}") についてnameではなく"#{name}"とするのはなにか理由が在るのでしょうか?
0202nobodyさん
2013/03/22(金) 17:18:45.30ID:yxqAW8Yfhttp://gigazine.net/news/20130322-firefox-asmjs/
0203nobodyさん
2013/03/22(金) 21:09:41.00ID:ifwMXc/iどこの記事/本よ?
to_sした結果を使いたい、くらいしか想像つかん。
0204nobodyさん
2013/03/22(金) 21:16:33.75ID:???これを修正した
0205nobodyさん
2013/03/27(水) 00:04:40.50ID:A67zM3ce0206nobodyさん
2013/03/28(木) 15:34:50.42ID:???wiki on railsとかはあったんですがフルすぎて……
0207nobodyさん
2013/03/28(木) 16:48:31.04ID:???Railsじゃないほうがいいんじゃないかな
無理してRailsを使わんでもええんよ
0208あ
2013/03/28(木) 17:36:34.38ID:???https://www.ruby-toolbox.com/#Content_Management_Blogging
0209nobodyさん
2013/03/28(木) 18:53:16.42ID:???モジュール化されたWikiシステムが欲しいんだろう
俺も欲しい 誰か作って
0210nobodyさん
2013/03/31(日) 12:01:34.56ID:2aEijAQlRuby on RailsのPaaS「Heroku」の課金の仕組みをめぐり、新興のネット企業が
「Herokuにだまされた」と訴えた。これに対しHerokuは2月15日、顧客に対する
説明が不十分だったと問題を認め、改善に努めると表明している。
http://www.atmarkit.co.jp/ait/articles/1302/15/news090.html
Herokuって、恐ろしいよな
0211nobodyさん
2013/03/31(日) 14:58:17.68ID:???https://twitter.com/bulkneets/status/304801081182023680
0212nobodyさん
2013/03/31(日) 15:30:32.44ID:???なんだかややこしすぎてよくわからなかったけど、
それほど悪質なケースとは思わないな。
これをきっかけにengine yardとかに流れた人もいるかもしれないが。
サービスが改善すれば、herokuを使い続ける人もいるんじゃない?
いずれにしても、記事を鵜呑みにするのは止めた方がいい。
0213nobodyさん
2013/03/31(日) 15:51:20.56ID:???0214nobodyさん
2013/03/31(日) 18:39:40.13ID:???0215nobodyさん
2013/03/31(日) 18:41:31.53ID:Mf8yJZR40216nobodyさん
2013/04/01(月) 08:34:23.82ID:???0217nobodyさん
2013/04/02(火) 14:42:59.94ID:/GCXEF4a0218nobodyさん
2013/04/02(火) 18:43:59.06ID:???https://twitter.com/cat/status/314257831148797952
https://github.com/re4k
http://whois.ansi.co.jp/re4k.info
0219nobodyさん
2013/04/03(水) 01:03:50.57ID:gvIwbNbw日本語特有の問題でどうしても分からないことがあります。
taggingsテーブル・・・対象モデルの対象レコードにどのタグがついているか?のレコード
tagsテーブル・・・タグのマスタテーブル
から構成されているんだけど
例えばtagsに
プロジェクトX
プロジェクトX
プロジェクト�]
と3種類の既存タグレコードがあったとします。
このとき、
videosモデルのレコードに「プロジェクトX」のタグをつけ保存しようとすると
「プロジェクトX」だけではなく他の2つ
「プロジェクトX」
「プロジェクト�]」
まで自動的に作られてしまいます。なお保存可能タグの件数を1件とvalidationで指定していたとしても
それを無視してこの3つが作られ保存されてしまいます。
この問題の原因や解決方法が分かる方はいませんか?
0220nobodyさん
2013/04/03(水) 10:59:16.17ID:???https://github.com/mbleigh/acts-as-taggable-on/blob/master/lib/acts_as_taggable_on/tag.rb
def self.named(name)
if ActsAsTaggableOn.strict_case_match
where(["name = #{binary}?", name])
else
where(["lower(name) = ?", name.downcase])
end
end
def self.named_any(list)
if ActsAsTaggableOn.strict_case_match
where(list.map { |tag| sanitize_sql(["name = #{binary}?", tag.to_s.mb_chars]) }.join(" OR "))
else
where(list.map { |tag| sanitize_sql(["lower(name) = ?", tag.to_s.mb_chars.downcase]) }.join(" OR "))
end
end
ここでlowerしているからXとxとXの差が吸収されてる。このlowerを外せばいけますよ
gemをカスタマイズして使う方法は分かりますか?
0221nobodyさん
2013/04/03(水) 11:06:11.03ID:???ご丁寧にありがとうございます。
すみません、gemのカスタマイズ方法については分かりません
もし良ければ教えていただけませんか?
gem install acts_as_taggable_on_steroids
を実行しただけです。
0222nobodyさん
2013/04/03(水) 11:10:41.90ID:???$cd rails_project
$mkdir plugins
$cd plugins
$git clone https://github.com/mbleigh/acts-as-taggable-on.git
あとはその中のファイルをいじって
$cd plugins/acts-as-taggable-on/lib/acts_as_taggable_on/
$vim tag.rb
でさっき書いた該当箇所の
lower(name)をnameに書き換えます
その後Gemfileに
gem "acts-as-taggable-on", path: "plugins/acts-as-taggable-on"
と読み込み元を指定してやればおkです
0223nobodyさん
2013/04/03(水) 14:10:03.33ID:???大変ご丁寧にわざわざありがとうございます。
それに付随して1つ質問よろしいでしょうか?
�@gem install acts_as_taggable_on_steroids
の際に出来たディレクトリをそのままコピーして
mkdirで作られたpluginsディレクトリの中に突っ込むのはOKですか?
git cloneで吸い出したバージョンと今使ってるバージョンの相違も考えられますので。
ありがとうございます。
0225nobodyさん
2013/04/03(水) 15:31:27.57ID:???ありがとうございます
試しに
/usr/local/lib/ruby/gems/1.9.1/gems/acts-as-taggable-on-2.3.3/lib/acts_as_taggable_on/tag.rb
の中の二カ所をlower(name)→name
へ書き換え
サーバーの再起動をかけましたが
結果は同じようにタグ1つのはずが
やはり3つ(3種類)になって保存されてしまいます。
gem list したときに使用バージョンも確認してるので
修正すべきファイルは
そのディレクトリのそのファイルで間違いないと思うのですが。。。。
他に何か考えられそうなことはありますか?
0227nobodyさん
2013/04/03(水) 15:46:32.92ID:???ログ吐かせるなどして
> 修正すべきファイルは
> そのディレクトリのそのファイルで間違いないと思うのですが。。。。
これが合ってるかどうか確認
まずはそこからだ
0228nobodyさん
2013/04/03(水) 15:49:54.33ID:???あ、説明不足ですみません
gemディレクトリのコピーはせず
オリジナルのほうを弄っています
このgemだけプロジェクトのpluginディレクトリに入れるのは違和感があったので。
オリジナルのほうを弄ったのに
変化なしということで驚きです。
0229nobodyさん
2013/04/03(水) 15:51:50.97ID:ITuk1zhr市原警察署の生活安全課の帰化人創価警官の指導の元、
入学式から2週間ほど、在日の創価学会員を主体とした自称防犯パトロールが、
2週間ほど行われることになりました
生活安全課の指導であることと、パトロールであることは、
絶対に公言してはいけないとの指導も、帰化人創価警官より出ています
期間中は2人組の在日の創価学会員が、頻繁に創価批判者の自宅周辺を、
うろつき回ると思われます
日本人の方は、充分に注意してください
0230nobodyさん
2013/04/03(水) 16:08:07.00ID:???まずは教えられた通りにやってから自分でやりたいようにいじればいいじゃん・・・
0231nobodyさん
2013/04/03(水) 20:42:27.38ID:gvIwbNbw教えていただいたとおりにやってみましたが
結果はやはり同じで、1つでなくタグが強制的に3つ(3種類)で保存されてしまいます。
gem 'rails3-jquery-autocomplete'も使用しているのですが関係あるのでしょうか?
>>230
すみません>_<
0232nobodyさん
2013/04/03(水) 23:22:33.09ID:???http://fujitaiju.com/blog/technology/ruby/rubyローカルのgemをgemfileに書いてbundle-installするのにハマった/
0233nobodyさん
2013/04/04(木) 19:14:22.06ID:On+3VEul0234nobodyさん
2013/04/05(金) 02:55:29.01ID:???https://blog.heroku.com/archives/2013/4/4/heroku_postgres_databases_patched
PostgreSQL: 2013-04-04 Security Release FAQ
Who discovered the vulnerability?
Mitsumasa Kondo and Kyotaro Horiguchi of NTT Open Source Software Center
http://www.postgresql.org/support/security/faq/2013-04-04/
■ このスレッドは過去ログ倉庫に格納されています