1read 100read
【RoR】Ruby on Rails Part17 (274) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)

【RoR】Ruby on Rails Part17


1 :2013/10/18 〜 最終レス :2013/10/28

http://kohada.2ch.net/test/read.cgi/php/1359587251/
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

2 :
前スレ998様ありがとうございます!!

3 :
質問させてください。サーバー機(CentOS)を再起動した後
毎回下記のコマンドを入力して、Railsを有効にしています。
$ cd /var/www/html/RailsApp
$ bundle exec rake sunspot:solr:start RAILS_ENV=production
$ unicorn_rails -c config/unicorn.rb -E production -D
これらをサーバー起動時に自動で実行させる方法はないものでしょうか?
そして、最初のcd /var/www/html/RailsApp は2行目、3行目のコマンドに差し込んで
省略できないものでしょうか?

4 :
>>3
man chkconfig

5 :
railscasts.com/episodes/111-advanced-search-form-revised?language=ja&view=asciicast
これを見ながら、検索部分を実装しようとしているのですが、
よくある、左側が検索操作部分で、右側がその結果表示みたいなものを作ってみたいと思っています。
ここでいう、/app/views/searches/new.html.erbを左側に、
/app/views/products/index.html.erbを右側に、共存して配置するには、どういったコードにすれば良いのでしょうか?

6 :
iframeでも使えば?

7 :
>>6
弊害がありそうですがそうでもないですか?
世の大手サイトはどういう仕組みでやっているのでしょうか?

8 :
>>7
文句つけるぐらいなんだから、自分の中で答えがあるんだろ
だったらその答えをまずひけらかしてから質問してみてはどうだい?

9 :
質問間違えていたっぽいですが、
searchs/new.html.erbとsearches/show.html.erbとの共存ですね
左で検索操作してポチっと検索して、右に検索結果一覧が出てくる的な。
検索結果一覧が出た後も、検索操作部分は変わらずある

10 :
>>8
文句はないっす^^;
すみません。。。
大手のサイトでよくある検索ページは、iframeじゃないんだろうな、って思って、
一体どうやってんのかなと思った次第です。
失礼しました。

11 :
>>10
だったら君の言う「大手サイト」のやり方をパクればいい
HTMLのソース見るぐらい訳ないだろ

12 :
Ajax

13 :
>>12
ありがとうございます!!
それが正解っぽいですね!
下記あたりを読んでいます。
//shirusu-ni-tarazu.hatenablog.jp/entry/2012/03/21/011450

14 :
Ruby on Rails 3 の Ajax いろいろ - @yuumi3のお仕事日記
http://b.hatena.ne.jp/entry/d.hatena.ne.jp/yuum3/20120903/1346653974

15 :
質問させてください
コントローラーや、ビューの内容を修正後、
Apacheであれば 
/etc/init.d/httpd restart

16 :
>>12
ただ、railscastのAdvanced Search Formというのでは、検索のためにモデルコントローラーを作って、
newとかshowとかが出てきます。
ここでいうnewやshowは混在させることが可能なのでしょうか???

17 :
>>14
あ様、いつもありがとうございますm(_ _)m
ここで紹介されているものは、>>16の場合でもいけるものなのでしょうか??

18 :
質問させてください
コントローラーや、ビューの内容を修正後、
Apacheであれば 
/etc/init.d/httpd restart

19 :
質問させてください
コントローラーや、ビューの内容を修正後、
Apacheであれば /etc/init.d/httpd restart

20 :
しかし、Nginxの場合、service nginx restart で再起動をかけても変更が適用されません。
変更を適用するにはどうすればいいでしょうか?

21 :
連投すみません。今2ch、おかしいですか?
8行くらいで送信したのに5行までしか投稿できませんでした

22 :
<table>
</table>
をパーシャルにして
<tr>
<td>
</td>
</tr>
をパーシャルのパーシャルにする

って普通にできますよね?
やらないとしたら理由はなにかありますか

23 :
>>20
そもそもdebian系のディストリビューションなんだろうか
だとしたら普通にそれで反映されるはずだが、本来変更するにはreloadコマンド
それ以上はスレチだ

24 :
>>23
CentOS6.4上で yum install nginxで入れました

25 :
>>23
Apacheとは違って、もしかしてunicornも立ち上げ直さないといけないとかですか?

26 :
>>17
せっかく回答もらってるんだから、ちょっとは自分で試してから追加質問しろよ

27 :
>>22
・ファイルが増えると管理が面倒
・partialは重い
など

28 :
>>26
reload も試しましたが反応なしです。

29 :
>>28
reloadでもrestartでも何も変わらないなら設定が間違えてるとか別の問題だよ

30 :
>>25
君が動かしているサーバ構成をこちらがエスパーしないと分からないような質問はやめてくれ

31 :
>>29
そうでしたか
ありがとうございます。調べてみます

32 :
>>27
ありがとうございます。
すると、trをcollectionにしてループにするのはあまりやらないのでしょうか

33 :
>>32
trの中身を使いまわすならやるかもしれない

34 :
あ様はじめ皆様、おかげ様でできました!
まことにありがとうございます!!

35 :
>>33
わかりました
ありがとうございます。

36 :
どなたか教えてください。
サーバーの移動をしました。
その際にRailsアプリのフォルダをまるまるコピーして持っていき、
その後、sqlデータをエクスポート→新サーバーへインポートしました。
するとなぜか、paperclipという画像アップロード専用gemであげた画像の格納パスとデータベースに保存されているパスが一致しなくなっており
一部画像が表示されなくなりました。
これを解決する方法をご存知の方はいらっしゃいませんか?

37 :
https://www.google.co.jp/search?q=paperclip+path+site%3Astackoverflow.com&oq=paperclip+path+site%3Astackoverflow.com

38 :
今日び、nginxではなくapacheを使うメリットってなにがある?
参考情報の量以外で

39 :
スレチ

40 :
【ヘロク】 Heroku Part1 【PostgreSQL】
http://toro.2ch.net/test/read.cgi/hosting/1329378677/l50

41 :
rails4.0
rails generate controller home index about contact
でHomeControllerとindex,about,contactの3つのアクションができました
このうちaboutだけ不要なので
rails destroy controller home about
ってやったんですが、indexもcontactも含めてHomeControllerに関係するファイルは全て消えてしまいました
こういう場合はどうやるのでしょうか?

42 :
http://iwhurtafly.hatenablog.com/entry/20120325/1332646857

43 :
HTML5/WebアプリってVBアプリの工数10倍かかるのにの人月1/2だよね。見積書いてる奴バカなの?
http://hayabusa3.2ch.net/test/read.cgi/news/1382432343/

44 :
rspecを勉強中ですが、コントローラーテストを中心に組み立てるのでしょうか?
またcapybaraを使ってフォームに値を入れるwithinが使えないのですが
そのようなテストはコントローラーテストでは使わないということですか?

45 :
>>42
つまり個別にアクションを削除できないから全部消してまたやり直すしかないってことですか?

46 :
>>45
個別には消せない
ルーティング規則からaboutを削除すればアクションは呼べなくなる
あと
* コントローラのソースからaboutメソッドを削除
* ビューファイルも消す
ですっきり

47 :
なるほど、わかりました

48 :
sendgrid
http://www.ustream.tv/recorded/40070580
http://www.ustream.tv/recorded/40071025

49 :
どうでもいい疑問だけどgemやらruby本体やらのサーバ負荷って相当だろうけど
オープンソースなのに誰がそれを負担してるの?寄付とか?

50 :
railscasts.com/episodes/111-advanced-search-form-revised?language=ja&amp;view=asciicast
このページの下記の部分って、rails4にするにあたって、変更しなければならないのですか?
ArgumentError in Searches#show
'nil' is not an ActiveModel-compatible object. It must implement :to_partial_path.
と出てしまうのですが

<h1>Search Results</h1>
<%= render @search.products %>

51 :
>>50
これはモデルのメソッドを呼び出しているのでしょうか?
何をしているのか、そもそもよくわかっていません

52 :
paperclipやcarrierwaveで、複数のサイズに対応するにあたって、
一つのファイルを保存するだけで済む方法はないのでしょうか?
複数アプリケーションや複数場面でサイズを変えたいものの、サイズ種類ごとに保存していくと容量を食い過ぎるため。
また、仮に一つのファイルを保存するだけで済んだ場合、呼び出しの度にリサイズ処理に時間がかかったり、弊害はないのでしょうか?

53 :
>>52
そんなに容量気にするならS3でも使えばいいじゃん
ドロップボックスなんて全てS3でやってるんだぜ

54 :
S3は転送量に対する課金が怖い

55 :
PinterestのEC2コストは、トラフィックのピーク時には1時間あたり52ドルかかっているが、トラフィックの少ない夜間には1時間あたり15ドル程度まで抑えられている
8000万個のオブジェクトをAmazon S3に保存、総容量は410テラバイト
http://www.publickey1.jp/blog/12/pinterest_pythonamazon.html

56 :
http://globalmarketing7news.seesaa.net/article/268459762.html

57 :
>>53
>>54
ちょっと自惚れがすぎますが、一年程度で1TB、二年程度数TBを想定しています。
徐々にマネタイズしろよ、って話ですが、S3は若干お金の心配があります。
少なくともcloudinary?のように一回の保存だけで対応できる方法を、paperclipやcarrierwaveでとれないかと興味を持っている段階でございます

58 :
>>55
>>56
なるほど!!!
ただ、私がコスト比較しているのは、とりあえず1TBくらいまでのみちのりです。
そこまで成長しないリスクも想定しつつ。
そのあとは、、、
どこくらいまでが、自前でそろえるよりも有利なんでしょうね。
検討しなくては

59 :
>>57
そのときになってから対処すればいい
DHHも言ってる
今やらなければいけないことは、「必要になるかもしれない」ことではない、と

60 :
hoge = Hoge.select("SUM(id) as id_sum").first
hoge.id_sum #=> idの合計値
みたいな感じで値が取れますが、別名を付けた「id_sum」って具体的にhogeのどこに格納された値なのでしょうか?

61 :
あと、select("SUM(id)")の様に別名を付けない場合、取得した値にアクセスする方法があるのか気になります。

62 :
>>60
当該hogeインスタンスに動的にid_sumアクセサが定義されてる
特異メソッドだから、他のhogeインスタンスには無いアクセサなので別の場所や他のhogeインスタンスで呼ぼうとするとエラーになる
Rubyの便利な機能だけど、怖くもある
もしHogeクラスに何か重要なid_sumメソッドやid_sumアクセサが元から定義されてた場合、>>60のコードで上書きされてしまって
意図せぬ問題が発生する可能性がある
この手のRubyの意図せぬメソッドやアクセサの上書きってみんなどうやって対処してるのか興味がある

63 :
matzは「殆どの場合そんなこと起きないし、神経質に気にするよりも生産性の向上を享受しようや」みたいなスタンスだった気がする。

64 :
>>61
名前を付けない場合は [] でアクセスできるよ。

65 :
>>62
なるほど、アクセサを定義している箇所を見れば分かりそうですね。
>>64
[]の引数は何になるのでしょうか?
hoge[:id], hoge["id"], hoge["SUM(id)"]など試してみたけど取れませんでした。

66 :
質問失礼します。
コントローラーにて【@parent.child = child_instance】のような記述で、
関連する親子モデルを割り当てる際に、
saveが走っているようでバリデーションチェックが入ります。
関連する親子モデルを(新規に作成するのではなく)割り当てる際、
バリデーションチェックをスキップする方法などありますでしょうか?
よろしくお願いいたします。

67 :
saveは走ってない
よーく確認しましょう

68 :
>>65
最後の SUM(id) で出来るはずなんだがなぁ
とりあえず、どんなキーが使えるか、
attribute_names にも入ってない?

69 :
>>68
hoge.attribute_names #=> [""]
みたいな感じでした。

70 :
http://crowdworks.jp/public/jobs/30611

71 :
質問があります
OmniAuthを使うとFacebookやTwitterアカウントでログインが出来るという認識です。
こちら側で用意した特定Twitterアカウントからのみ
ツイートを実施したい場合でもOmniAuthは利用できますか?
いちいち各ユーザーがTwitter認証をすることなく、
なんらかのアクションを起こすと、
こちらで用意したTwitterアカウントで投稿が行われる仕組みです。

72 :
>>71
まずはやってみよう

73 :
>>71
無理

74 :
初歩的な質問をさせてください
params[:keyword] = "TEST"
@posts = Post.where('title like ?', params[:keyword])
みたいなことをするのを前提としたとき
titleカラムはindexを貼っておいたほうがいいですか?

75 :
おせー!となってから貼れば良いのでは。
でもMySQLではワイルドカードから始まるlikeは
indexが使用されないとかあるらしい。

76 :
railscastのエピソード111「advanced-search-form-revised」
これに従って、アドバンスドサーチなるものを作っています。
これにAJAXを付け加えて、検索結果を検索条件入力フォーム欄の下に表示する形態をとりたいのですが、全く辿り着けません。
newアクションから、createアクションを経由し、次にshowアクションにリダイレクトされる流れなのですが。
難しい内容なのかもしれませんが、もし分かる方がいらっしゃいましたら、教えていただけるとありがたいです。

77 :
show.html.erbの方に、updateアクションを叩く検索フォームを設置すれば良さそうですが、
もうすこしjquery/ajaxを使ったスマートな方法が欲しいのです。。。

78 :
HTML、Ajax、Rails の仕組みがきちんと理解できていれば何ら難しいことはない
逆に理解できてなくて答えだけ欲しいというのならスレ違い

79 :
>>78
きちっと分かってたらこんなところにこねぇだろw
ここは>>77>>78のように分かってない奴が来るところ

80 :
>>76
検索だけするのになぜcreateを通るのか不明

81 :
>>80
普通のform tagの検索なら簡単にjqueryで動的ページを作れますが、
ここで紹介されているのは複雑な検索用に検索モデルを作って・・・・という流れなのです。

82 :
>>81
検索モデルを永続化するわけじゃあるまい?
保存しないものに create はおかしい

83 :
>>82
読んでいただければ分かりますが、永続化します。
wheneverなどで、ゴミ掃除はあとでするという考えです。
getだと検索項目が限られるため、モデル化してしまうのが良いというのがrailscastで紹介されているadvanced-seachのやり方です。
なので、動的表示にするのも、もう一歩進んだ知識を持たれた方のアドバイスが必要なわけです。

84 :
>>83
Search#create の最後で redirect_to すりゃいいだけ

85 :
コントローラーの抜粋ですが、下記のようになっていて、
show.html.erbで表示される仕組みになっているのですが・・・・

def new
@search = Search.new
end

def create
@search = Search.create!(search_params)
redirect_to @search
end

def show
@search = Search.find(params[:id])
end

86 :
>>85
合ってるように見えるね

87 :
ajaxで部分書き換えしたいなら、呼び出し側でどうこうする必要があるよね。
redirectするんじゃなくて、結果をJSONやHTML片で返すとか。

88 :
show.html.erbに、<%= render @search.products %>
そして、そこで呼び出されている?searchモデルが下記になります。
おそらくshow.html.erbの上記記述で下記が呼び出されていて?、それで実際検索が行われる仕組みなんじゃないかと・・・・
def products
@products ||= find_products
end

private
def find_products
products = Product.order(:name)
products = products.where("name like ?", "%#{keywords}%") if keywords.present?
  //以下複数の検索項目を設定
products
end

89 :
>>88
キモはそのrenderの部分
ActionView::Helpers::RenderingHelper#renderを読むと
render(options = {}, locals = {}, &block)
(snip)
・:partial - See ActionView::PartialRenderer.
(snip)
If no options hash is passed or :update specified, the default is to render a partial and use the second parameter as the locals hash.
と書いてある。ということで、ActionView::PartialRenderを見れば、
Rendering objects that respond to `to_partial_path`
# @posts is an array of Post instances, so every post record returns 'posts/post' on `to_partial_path`,
# that's why we can replace:
# <%= render partial: "posts/post", collection: @posts %>
<%= render partial: @posts %>
と今回の例の場合が載っている

90 :
>>75
ありがとうございます
後々レコード数が増えてからインデックスを貼ると膨大な時間がかかりませんか?
インデックスを貼る行為は
データ容量を大きく食うのとトレードオフですよね?

91 :
>>90
あと、データの書き込みが遅くなる

92 :
>>89
たしかにそこ良く分かっていなかったです(てかいまだに汗)。
これって動的に表示するのは難しいんですかね?でも大手のサイトとかではよく見るのので、可能は可能なんでしょうが・・・・

93 :
>>92
ログは見てるの?

94 :
Started POST "/searches" for 〇○○○ at 2013-10-26 17:10:31 +0900
ActiveRecord::SchemaMigration Load (0.5ms) SELECT `schema_migrations`.* FROM `schema_migrations`
Processing by SearchesController#create as HTML
Parameters: {"utf8"=>"&#10003;", "authenticity_token"=>"OSpOUenfcqQBafhnfsfmwomfwojgcuuvR1+PQ7gE=",
"search"=>{"keywords"=>"sa", "min_price"=>"", "max_price"=>""}, "commit"=>"Search"}
(0.3ms) BEGIN

95 :
>>94
それだけで終わりか…

96 :
Rails3.2.13なんですが
views/hoge
ここのフォルダーに
hoges.html.haml
_tab1.html.haml
_tab2.html.haml
_fuga.html.haml

があって、
hogesから 
render 'tab1'
render 'tab2'
をやっても描画されるのに
tab1もしくはtab2から
render 'fuga'
してもテンプレートが見つからないと言われるのはどうしてでしょうか

97 :
SQL (0.4ms) INSERT INTO `searches` (`created_at`, `keywords`, `updated_at`)
VALUES ('2013-10-26 08:10:31', 'sa', '2013-10-26 08:10:31')
(13.2ms) COMMIT
Redirected to 〇〇〇〇:3000/searches/18
Completed 302 Found in 97ms (ActiveRecord: 15.6ms)

98 :
Started GET "/searches/18" for 〇〇〇〇 at 2013-10-26 17:10:32 +0900
Processing by SearchesController#show as HTML
Parameters: {"id"=>"18"}
Search Load (0.6ms) SELECT `searches`.* FROM `searches`
WHERE `searches`.`id` = 18 LIMIT 1
Product Load (0.9ms) SELECT `products`.* FROM `products`
WHERE (name like '%sa%') ORDER BY `products`.name ASC
Rendered products/_product.html.erb (2.4ms)
Rendered searches/show.html.erb within layouts/application (434.2ms)
Completed 200 OK in 613ms (Views: 604.4ms | ActiveRecord: 4.8ms)

99 :
以上ですm<__>m
途中連続規定に抵触し失礼しました。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)
【RoR】Ruby on Rails Part17 (274)
--log9.info------------------
精神障害者雇用、再就職の情報スレッド 41社目 (260)
ADHD新薬総合スレ9(元のストラテラスレ) (322)
回避性人格障害(不安性人格障害) Part46 (123)
統合失調症は治るの?治った人手を挙げて! (919)
「人生に手遅れはない」は本当か? (167)
□■メンヘル板の自治を考えるスレ part58■□ (916)
ネット依存の2ちゃんねらー(精神異常) (172)
障害年金で生活している人 Part34 (125)
リハビリ情報■精神科デイケア他関連 その43 (117)
統合失調症(旧精神分裂病)総合スレッドPart169 (145)
統合失調症の陰性症状に苦しむ人43 (480)
福井の精神科・心療内科 (496)
札幌の心療内科・精神科 Part10 (128)
【国産SDA】ルーランという薬・その10 (858)
女性恐怖症の男が集まるスレ (649)
人間関係で仕事を辞めてしまう人 13人目 (218)
--log55.com------------------
【五輪】ボランティアの運転する車両全てにカメラとGPSを取り付け。大会関係者が配車アプリでいつでも呼び出せるようになる模様。 [483468671]
大和ハウスの温泉 実際には工業用水や井戸水でした 大阪・兵庫 [229078592]
OS-1ってすげーよな、寝る前に飲めば絶対に二日酔いにならないんだぜ [302521845]
日テレ・水卜麻美アナ、24時間テレビ司会→マラソン→司会→翌日スッキリ→生放送特番「働かせすぎ」「ブラック企業か」の声 [687522345]
最近のスマホゲーは面白いってマジ? [663277603]
【悲報】ケンモジサン、このレベルのおばさん(45歳・年収3000万くらい)を可愛いと言ってしまう… [376356433]
【悲報】YAHOO!メール「Adblock系の広告ブロックを使ってるやつら使えなくしといたぞ」 [629531343]
逆にこれだけは認めるっていう高尚な趣味 [426957453]