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

【RoR】Ruby on Rails Part18

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2014/01/11(土) 20:04:00.68ID:???
前
http://kohada.2ch.net/test/read.cgi/php/1382097427/
http://unkar.org/r/php/1382097427/

■参考サイト
<英語>
本家: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
0207nobodyさん2014/03/05(水) 00:08:04.53ID:???
>>206
わかりづらいです
もっと詳しく教えてくださいよ
02081972014/03/05(水) 00:26:50.66ID:???
丁寧にありがとうございます!実践してみます。
0209nobodyさん2014/03/05(水) 01:28:25.87ID:???
巨大なString作ったらもう終わりってこと?
メモリ解放する術は無いの?nil入れても無駄だし。GC.startってそもそもちゃんと働くのかね
0210nobodyさん2014/03/05(水) 02:02:07.37ID:???
>>209
プロセスは一度確保したメモリは解放しないことが多いよ
これはRubyレベルの問題ではなく、OSレベルの問題

それ以前の問題として、巨大な文字列を作らずに済む方法があるんだから
まずはそれを試したらどうだい?
0211nobodyさん2014/03/05(水) 02:05:30.78ID:???
プログラミングって動くものは誰でも作れるけどパフォーマンスで差が付くよな
0212nobodyさん2014/03/05(水) 03:13:39.75ID:???
巨大って言ってるけど本当にメモリ食いつぶすほどでかいのかね
0213nobodyさん2014/03/05(水) 07:19:15.16ID:???
Rails Hub情報局: 素人がWebサービスを作ってみて分かった9つのこと
手元で書いて動くコードは1分でできるのに、
例外処理をして9割の完成度に上げるのには、とてつもなく時間がかかる場合がある
http://el.jibun.atmarkit.co.jp/rails/2011/09/web9-1e8b.html

スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ - Masatomo Nakano Blog
6. サーバ周りの人材をしっかり確保しよう
http://b.hatena.ne.jp/entry/blog.madoro.org/mn/84

Ruby on Rails が簡単というのはウソ - #生存戦略 、それは - subtech
http://subtech.g.hatena.ne.jp/secondlife/20120309/1331279496

今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 | つい全力ツッコミしてしまうエンジニアCEOのブログ | sumyapp
http://b.hatena.ne.jp/entry/blog.sumyapp.com/2013/07/no-recommend-rails/
0214nobodyさん2014/03/05(水) 11:34:41.73ID:???
>>210
普通は他のプロセスが利用しようとしたら手放すよ
RubyはGCに問題が多々あるといわれるから、そこじゃねか
0215nobodyさん2014/03/05(水) 23:11:59.25ID:???
というかプロセスがメモリ解放できなかったら常駐プログラムとかどうするんだ?
C言語のfree()とかってOSレベルではメモリ解放してるわけじゃないのかな
0216nobodyさん2014/03/05(水) 23:41:07.71ID:???
何にせよ常駐プログラムで巨大メモリを使うのはよろしくないね
巨大メモリを使わないようにするか、fork するなどして別プロセスで動かすようにするかのどっちか
0217nobodyさん2014/03/05(水) 23:44:19.51ID:???
いや巨大どうこうじゃなくて、メモリ解放できないならどんなにチビチビ使っててもいつかメモリが破綻するじゃん
常駐の体を成してないよねそれ
0218nobodyさん2014/03/05(水) 23:45:29.65ID:???
スレッドタイプのWEBサーバーなんかはどうやってメモリ管理してるんだろうな
すげー興味でてきた
0219nobodyさん2014/03/05(水) 23:47:43.77ID:???
>>217
使わなくなったメモリを再利用すれば多くの場合は問題ない
巨大な文字列などは連続した領域が必要なので再利用できない場合がある
チビチビ使う方が再利用しやすい
0220nobodyさん2014/03/05(水) 23:51:55.94ID:???
ほ〜勉強になるなぁ
フラグメンテーションとかそういう話だっけw
文系出身な俺には重いな
0221nobodyさん2014/03/05(水) 23:55:29.43ID:???
>>220
そうそう
RubyのGCはメモリコンパクション(デフラグメンテーション)をやらないので、今回ような使い方をすれば問題になる可能性がある
0222nobodyさん2014/03/06(木) 01:11:41.99ID:???
おお!やっぱそのことですね。RHG読んだ時に見た覚えがあるなぁ
Rubyが採用してるGCのスタイルがコンパクションと相性悪いとか何とか
0223nobodyさん2014/03/06(木) 10:57:14.72ID:???
やっぱRubyの弱点はGCだな
0224nobodyさん2014/03/06(木) 15:47:34.23ID:???
GCってGameCube? 何いってんの
0225nobodyさん2014/03/08(土) 01:09:20.34ID:???
高度なマルウエアは防げない、「アフターテクノロジー」が重要:ITpro
http://itpro.nikkeibp.co.jp/article/Interview/20131022/512834/

マカフィー株式会社 | McAfee Blog -高度なマルウェアに関する神話 第1話: 『課題は、高度なマルウェアは検知できないということだ』
http://www.mcafee.com/japan/security/mcafee_labs/blog/content.asp?id=1379

New York Timesの記事によれば、同紙は米Symantecのウイルス対策製品を使っていたが、
Mandiantが調べた結果、攻撃者が使った45種類のカスタム版マルウェアのうち、Symantecの製品で検出できたのは1種類のみだったという。
http://bylines.news.yahoo.co.jp/yamamotoichiro/20130204-00023332/

ソニーPSNの個人情報漏洩に英国で約3500万円の罰金支払い命令、「防げた事件」と判定 - Engadget Japanese
http://japanese.engadget.com/2013/01/24/psn-3500/

Adobeにサイバー攻撃、顧客情報290万人分抜き取り、製品のソースコードも -INTERNET Watch
http://internet.watch.impress.co.jp/docs/news/20131004_618168.html
0226nobodyさん2014/03/09(日) 01:42:11.20ID:givZU1Ab
ボタンが押されたとき、JavaScriptでHTMLの一部を描画したいんですが、

$.get("api/action", {}, function(data) {
 $("bar"),append ($(data));
});

def action
 render :partial=>"foo"
end


とか書いていたら、dataには改行コードしかありませんでした
コンソール見たら、actionは呼び出されており、指定したパーシャルがrenderされていることは確認できたのですが・・・
0227あ2014/03/09(日) 02:05:33.45ID:???
Ruby on Rails 3 の Ajax いろいろ - @yuumi3のお仕事日記
http://b.hatena.ne.jp/entry/d.hatena.ne.jp/yuum3/20120903/1346653974
0228nobodyさん2014/03/09(日) 19:10:25.85ID:???
画像や幾つかのテキストを投稿できるシステムがあり投稿前にプレビューできるんですが、

get 'articles/edit'
post 'articles/preview'
post 'articles/post'

class ArticlesController < ApplicationController

def edit
end

def preview
end

def post
end

end


こんな感じで、編集画面でフォーム送信 → プレビュー → プレビューで確認して投稿 というのを考えてましたが、
edit → preview でfile_fieldの値が引き継がれません。

file_fieldの値を別の画面に引き継ぐことは無理なのでしょうか? 
0229nobodyさん2014/03/09(日) 19:20:09.30ID:???
質問する時はソースを略すな
0230nobodyさん2014/03/09(日) 20:44:39.41ID:???
>>228
無理です
0231nobodyさん2014/03/09(日) 21:40:32.82ID:???
>>229
すいません
他にどの辺りのソースも書けばいいでしょうか・・・

>>230
無理なんですか・・・
ユーザがアップロードした画像をメモリの中におさめて別の画面の<input type="file">にセットするとかはできないんですね・・・
0232nobodyさん2014/03/09(日) 21:48:09.82ID:???
>>231
無理です
0233nobodyさん2014/03/09(日) 23:24:37.25ID:rV1atWDh
以前やったときは:

投稿に確定フラグを用意して、
確認画面に行くときに確定フラグOFFで保存(画像も)してしまい、
確認取れたら確定フラグをONにする。
別途、長時間(1時間とか1日とか)確定フラグOFFのままのものは、バッチで削除する。

とした。

面倒だし、未確定のものが見えてしまうことを避けるためにscopeの設定に注意、
という残念なアプローチなので、あまりお勧めはしない。
0234nobodyさん2014/03/09(日) 23:34:39.34ID:???
>>233
もっと詳しく書いて下さい
あまりにも説明がザックリすぎます。。。
0235nobodyさん2014/03/09(日) 23:35:11.57ID:???
>>233
できればコードで!
0236nobodyさん2014/03/09(日) 23:36:35.19ID:???
>>234
>>233 で分からないようならかなり勉強が足りない
Railsは広範な知識が前提になるから、君にはまだ早いかもしれない
0237nobodyさん2014/03/09(日) 23:40:35.43ID:???
>>236
すいません、>>234と>>235は私ではありません

>>233
ありがとうございます
そういう無理矢理な方法を取らないといけないという時点で大きなヒント
IE8ではHTML5も使えないですし、
やはりユーザーが一度プレビューでも確認しようとする画像はサーバーにあげるしかないんですね
0238nobodyさん2014/03/09(日) 23:42:42.92ID:???
>>237
HTML5とか関係ないよ
セキュリティ上の制約からfileフィールドに値を与えることは不可能
それができたら、ローカルのファイルを取り放題になるからね
サーバに上げる以外の方法はない
0239nobodyさん2014/03/10(月) 01:24:02.67ID:???
tmpファイル作るでは駄目なの?
何で悩んでるのかがイマイチ分からん

画像の保存先がDBにしろファイルシステムにしろ
そこへアップするのではなくtmpファイル作る
0240nobodyさん2014/03/10(月) 02:47:48.52ID:???
rails upload preview site:stackoverflow.com

https://www.google.co.jp/search?q=rails+upload+preview+site%3Astackoverflow.com&;oq=rails+upload+preview+site%3Astackoverflow.com
0241nobodyさん2014/03/10(月) 11:58:24.19ID:???
一対多の親子関係の2つのテーブルがあって親のレコードを取得する時に
あるビューでは子のレコードを最新の5件だけ、別のビューでは10件という風に
したいんですけど可能でしょうか?
0242nobodyさん2014/03/10(月) 13:24:50.06ID:???
scope
0243「ガスライティング 集団ストーカー カルト」で検索を!2014/03/10(月) 14:21:04.90ID:CT4FzesB
★マインドコントロールの手法★

・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法


↑マスコミや、カルトのネット工作員がやっていること

TVなどが、偏った思想や考え方に染まっているフリや常識が通じないフリをする人間をよく出演させるのは、
カルトよりキチガイに見える人たちを作ることで批判の矛先をカルトから逸らすことが目的。

リアルでもネットでも、偽装左翼は自分たちの主張に理がないことをわかっているのでまともに議論をしようとしないのが特徴。
,,,
0244nobodyさん2014/03/14(金) 06:16:01.68ID:???
windowsのrailsでnewしてできるファイルのエンコードをデフォルトでutf-8にすることはできますか?
railsinstaller-2.2.1使用
0245nobodyさん2014/03/14(金) 07:07:13.95ID:???
すべてのファイルにマジックコメントをつけろってこと?
0246nobodyさん2014/03/14(金) 08:11:26.02ID:???
Ruby 2.0.0-p0 リリース
https://www.ruby-lang.org/ja/news/2013/02/24/ruby-2-0-0-p0-is-released/

default UTF-8 encoding: 多くのマジックコメントが不要に
0247nobodyさん2014/03/14(金) 08:22:50.53ID:???
ruby on rails - railsinstaller 2.2.1 fails on windows - Stack Overflow  
http://stackoverflow.com/questions/17917660/railsinstaller-2-2-1-fails-on-windows
0248nobodyさん2014/03/16(日) 00:46:27.85ID:sX6tK28V
MySQLのVARCHAR型のカラムにこんなデータがあり

テストですよ!\r\nテスト!\r\nテスト!テスト!テスト!

そのまま出すと([email protected])

テストですよ!\r\nテスト!\r\nテスト!テスト!テスト!


こうなるんです


=simple_format @hoge.text
[email protected](/\r\n/, '<br/>')


こんな風にしても


テストですよ!\r\nテスト!\r\nテスト!テスト!テスト!


こうなるんです・・・



MySQLでの\r\nがどうして\r\nで置換できないのでしょうか
0249nobodyさん2014/03/16(日) 00:49:17.26ID:???
こうなるってどうなるの?
0250nobodyさん2014/03/16(日) 00:54:37.66ID:???
\\r\\nってオチでしょ
02512482014/03/16(日) 00:59:39.49ID:???
こうなるというのは「テストですよ!\r\nテスト!\r\nテスト!テスト!テスト!」が表示されるという意味です・・・
でも確かに.gsub(/\\r\\n/, '<br/>')でしたら置換されました・・・

MySQLで\r\nで登録されている文字列はビューに来る頃には\\r\\nになってるんですか・・・
それでしたら組み込み関数のsimple_formatも使えないことになりませんか?
0252nobodyさん2014/03/16(日) 01:02:18.80ID:???
こうなるじゃわからん。
ちゃんと口で説明しろ
0253nobodyさん2014/03/16(日) 01:20:55.82ID:5H4+EUWX
>>251
250が言わんとしている事をもう少し分かりやすく言うと、
今回のケースではMySQLには改行コードではなくて
'&#165;r&#165;n'
っていう文字列そのものが入ってる。

Rubyで
print '&#165;r&#165;n' # 改行されずに&#165;r&#165;nっていう文字列そのものが表示される
と
print "&#165;r&#165;n" # 改行される
の実行結果を比較すると理解できるかと。
02542532014/03/16(日) 01:25:22.32ID:5H4+EUWX
>>253
で文字化けしてる部分はバックスラッシュの事だと読み替えてください
0255nobodyさん2014/03/16(日) 16:29:56.38ID:???
nl br rails site:stackoverflow.com
0256nobodyさん2014/03/19(水) 13:34:27.57ID:XfOUweW8
http://d.hatena.ne.jp/shio_chan/20120103/1325530100
この記事と同じところで躓いているのですが、
一番下の「追記 解決しました」はどういうことなのでしょうか?
「テストで作成しているデータが10文字以下だった」ら、
どこをどう変えれば解決するのでしょうか。
0257nobodyさん2014/03/19(水) 15:28:10.08ID:???
10文字より長くすれば?
0258nobodyさん2014/03/19(水) 17:20:29.04ID:XfOUweW8
>>257
レスありがとうございます。
何を10文字より長くすればいいのでしょうか?
0259nobodyさん2014/03/19(水) 18:33:11.75ID:???
description
0260nobodyさん2014/03/19(水) 18:46:53.11ID:XfOUweW8
>>259
descriptionを10文字より長くしても駄目でした。

Failed assertion, no message given.
1 failures
のままです。
0261nobodyさん2014/03/20(木) 07:58:58.79ID:8noYVroQ
>>256
>>257

解決しました。ありがとうございました。
0262nobodyさん2014/03/20(木) 10:48:45.83ID:???
app/assets/stylesheets/配下のCSS(SCSS)ファイルはAsset Piplineでコンパイルされて一つになるので、
コントローラごとに適用されるCSSを分けることは出来ないのでしょうか?
0263nobodyさん2014/03/20(木) 17:48:14.89ID:???
layouts/application.html.erb に
<body class="<%= controller_name %>">
と書き換えて、後は scss で分ける。
scss だったら一段階層を増やしてあげるだけ。
0264nobodyさん2014/03/20(木) 18:03:04.96ID:???
>>263
なるほど、クラスで分けるのがデフォなんですね。ありがとうございます!
0265nobodyさん2014/03/23(日) 21:14:41.33ID:???
「KADOKAWA」サーバに不正侵入、フィッシングメールの踏み台にされた恐れ サイト閉鎖 - ITmedia ニュース
http://www.itmedia.co.jp/news/articles/1403/23/news011.html

KADOKAWAの公式サイトが改ざん 閲覧者がマルウェア感染の恐れ - ITmedia ニュース
http://www.itmedia.co.jp/news/articles/1401/17/news047.html
0266nobodyさん2014/03/25(火) 10:58:40.13ID:cbd1slMB
『RailsによるアジャイルWebアプリケーション開発 』で
アプリケーションを作っている途中、カートを作るところまでいったのに
サーバーを実行しても、初期の"Welcome aboard"のページになってしまう
ようになってしまいました。
ファイルはあるのですが、ファイルを読み込むようにすることはできるのでしょうか。
0267nobodyさん2014/03/26(水) 06:35:55.97ID:XaAxxKBe
rm public/index.html
0268nobodyさん2014/03/29(土) 08:51:33.04ID:???
質問です。
[[親A.-子1-孫1], [親A-子2.], [親B-子1-孫1], [親A-子1-孫2], [親C]]
のような配列があり、各関係はハイフンで区切られています

この配列を
[親A[子1[孫1,孫2],子2], 親B[子1[孫1]], 親C]
のように親子関係を、同じ位のものは同じ階層の配列に
下のものはその中に配列として格納

というようなことをしたいのですが、rubyに慣れておらずサンプルコードいただけませんでしょうか
0269nobodyさん2014/03/29(土) 11:06:27.49ID:???
Ruby初心者スレへどうぞ
0270nobodyさん2014/04/04(金) 17:14:47.47ID:???
migrationを最近のDBからフラットに生成する方法ってありませんか
既存アプリをベースに新規アプリを作りたいのですが
既存アプリはDBの拡張ライブラリを使っていた時期があって
その環境を整えないとmigrationが通らないのですが今は使っていないのでスキップしたい
0271nobodyさん2014/04/04(金) 17:17:55.16ID:???
db/schema.rbにありました
サンクス
0272nobodyさん2014/04/05(土) 11:38:17.94ID:???
kyoto-u.com > 談話室 > 法学部・経済学部 > 帰国子女ロンダに関する考察
http://www.kyoto-u.com/lounge/tokeidai/html/200602/06020020.html
0273nobodyさん2014/04/05(土) 12:55:04.90ID:???
http://b.hatena.ne.jp/entry/headlines.yahoo.co.jp/hl?a=20140405-00050045-yom-sci
0274nobodyさん2014/04/05(土) 13:57:23.96ID:???
http://b.hatena.ne.jp/entry/www.yomiuri.co.jp/it/20140405-OYT1T50045.html
0275nobodyさん2014/04/06(日) 00:47:41.08ID:???
RoRをやり始めてから早2年

コーディングなんかよりも
環境のデプロイが辛すぎる

使い慣れたgemを使おうにも
新たに契約したVPSでは
毎度のこと環境(選択できるOS)が変わる

それに合わせてRubyだのPHPだのphp-fpmだのnginxだのapacheだのImageMagickだのと入れていくわけだが

バージョン相違の依存度のせいで動かなくなったりエラーが出たり頻発

いろいろ試してやっとで動かせるようにしても
また次回も新たにホスティングを契約すると同じことをしなくちゃならない

これだけで実に丸2〜3日は掛かる
正直辛すぎる
0276nobodyさん2014/04/06(日) 00:54:26.05ID:???
あらかじめ
コマンド一つで
決められた環境を全てデプロイしてくれるような自動化が作れればいいのになぁ
0277nobodyさん2014/04/06(日) 03:26:20.30ID:???
bundler使いましょう
0278nobodyさん2014/04/06(日) 05:16:19.81ID:???
>>275
依存関係を弱くするのは初心者にとって難しいかもな。がんばれ。
0279nobodyさん2014/04/06(日) 08:16:32.72ID:???
chef
vagrant
docker
0280nobodyさん2014/04/06(日) 09:34:39.96ID:???
chef使わなくても慣れれば普通に数時間以内で終わる件
0281nobodyさん2014/04/06(日) 23:13:05.66ID:???
高度なマルウエアは防げない、「アフターテクノロジー」が重要:ITpro
http://itpro.nikkeibp.co.jp/article/Interview/20131022/512834/

マカフィー株式会社 | McAfee Blog -高度なマルウェアに関する神話 第1話: 『課題は、高度なマルウェアは検知できないということだ』
http://www.mcafee.com/japan/security/mcafee_labs/blog/content.asp?id=1379

New York Timesの記事によれば、同紙は米Symantecのウイルス対策製品を使っていたが、
Mandiantが調べた結果、攻撃者が使った45種類のカスタム版マルウェアのうち、Symantecの製品で検出できたのは1種類のみだったという。
http://bylines.news.yahoo.co.jp/yamamotoichiro/20130204-00023332/

ソニーPSNの個人情報漏洩に英国で約3500万円の罰金支払い命令、「防げた事件」と判定 - Engadget Japanese
http://japanese.engadget.com/2013/01/24/psn-3500/

Adobeにサイバー攻撃、顧客情報290万人分抜き取り、製品のソースコードも -INTERNET Watch
http://internet.watch.impress.co.jp/docs/news/20131004_618168.html
0282nobodyさん2014/04/08(火) 11:49:50.27ID:???
新型マルウェア、54%は対策ソフトで検知できず――NTTグループが分析 - ITmedia エンタープライズ
http://www.itmedia.co.jp/enterprise/articles/1403/28/news118.html
0283nobodyさん2014/04/18(金) 00:39:33.69ID:???
こんなブログ記事があったのだが

今すぐ辞めて欲しい、「Ruby on Rails勉強してます」
http://blog.sumyapp.com/2013/07/no-recommend-rails/

で、記事の途中にこんなくだりがあった。

>この記事にぐさっときた人、プログラミング初心者にとっておすすめしたいのはこの書籍だ。
>なれる!SE 2週間でわかる?SE入門 (電撃文庫)
>ぜひ頭の硬いプログラミング見習いの方には読んで頂きたい。技術職における最も大事なことはこの本に全て書いてある

やはりをなれるSEを読むようなクレバーな技術者はRuby on Railsなんてオモチャは
遠ざけるのだな。
0284nobodyさん2014/04/18(金) 03:16:15.18ID:???
http://b.hatena.ne.jp/entry/blog.sumyapp.com/2013/07/no-recommend-rails/
0285nobodyさん2014/04/18(金) 11:10:09.23ID:???
抽象化のバランスでいうと、今のRailsを初めとするフレームワークじゃ、
結局DB、SQLやWebサーバの詳細を結局勉強するはめになるわけで、
アセンブラやC言語を知らずにRubyを使えるレベル、とまでにはなってないよね。

いきなりRailsをやるより、PHPとApacheで素のWEBアプリをまず作ったり
した後の方がRailsのありがたみが良くわかるんじゃないだろうか。
0286nobodyさん2014/04/18(金) 12:10:11.41ID:???
>>285
Rails使わずにRubyでWEBアプリならまだしも、PHPはちょっと
0287nobodyさん2014/04/18(金) 14:11:40.28ID:???
>>283
それ、後の方の巻で出てくるソフト開発の描画が酷かったやつだな。
0288nobodyさん2014/04/18(金) 19:51:14.01ID:HvjAAhgy
http://www.hoge.com/index.html&;q=パラメーター

より

http://www.hoge.com/index/パラメーター

のほうがSEOはいいのでしょうか?
0289nobodyさん2014/04/18(金) 20:36:48.22ID:???
>>286
素のRubyとの比較だと、やっぱりPHPの方が何かと簡単だ(例えばSessionとか)。
個人的には、Rackから始めるのがいいと思うが、Rackを入り口に扱っている情報ってあんまりないよね。
0290nobodyさん2014/04/19(土) 16:05:29.73ID:h92l0Mdq
>>288

Web制作板のスレタイを SEO で探したほうが答えが手に入る可能性が高い
0291あ2014/04/20(日) 19:26:42.59ID:???
Google
パンダアップデート
ペンギンアップデート
0292nobodyさん2014/04/23(水) 01:16:16.25ID:dat1Z6dq
お気に入り機能の実装ってどういう感じでやってますか?
0293nobodyさん2014/04/23(水) 09:41:35.29ID:???
favorite rails site:stackoverflow.com

https://www.google.co.jp/search?num=100&;q=favorite+rails%E3%80%80site%3Astackoverflow.com
0294nobodyさん2014/04/24(木) 01:05:04.94ID:Xeh6xycu
class Product < ActiveRecord::Base
 has_many :tagging,
 has_many :tags, :through=>:tagging
end

class Tag < ActiveRecord::Base
 has_many :tagging
 has_many :products, :through=>:tagging
 validates :text, :presence=>true, :uniqueness=>true
end

class Tagging < ActiveRecord::Base
 belongs_to :product
 belongs_to :tag
end

こういう状態で、ProductのページでTagも追加するようなフォームを作っているのです。

= form_for(@product) do |f|
  = f.fields_for :tags do |f2|
    = f2.hidden_field :id
    = f2.text_field :text

しかし、
�@入力したタグがDBに存在しない場合は、tagsに新レコード追加し、taggingも更新
�A入力したタグがDBに存在する場合は、taggingだけ更新
という挙動を期待しているのに、実際は、POSTされたtagsのパラメーターにidが存在しない場合は、
常にtagsを新規作成しようとしてしまいます(結果として、ユニーク制約に引っ掛かってエラー)

望むような挙動をさせたい場合はどうすればいいのでしょうか?

既存のtagはセレクトボックス、新規作成の場合はテキストボックスなどでわけられるのが理想なのですが・・・
0295あ2014/04/24(木) 09:03:50.11ID:???
ASCII.jp:開発者はビットコイン採掘を狙うハッカーに備えて Amazon の請求書を確認すべき
オーストラリアのセキュリティ専門家が先月に実施したGitHubの検索では、約1万件のAWS 認証情報が発見されている。
http://ascii.jp/elem/000/000/886/886650/
0296nobodyさん2014/04/24(木) 12:42:49.45ID:???
>>294
taggingはproductに毎回付随していて、tagは全てのタグの一覧と言う認識でOK?
それならfields_forで入力させるのはtaggingで、taggingを保存する際にafter_saveで
そのタグが新規かどうかを判定して新規ならtagsを保存すればいいんじゃないのかな

といっても要件がよく理解できてないから的はずれかも
0297nobodyさん2014/04/24(木) 19:50:38.29ID:???
>>296
ありがとうございました。

ただし fields_forで:taggingを指定しても出てこないです・・・。
0298294, 2972014/04/24(木) 20:10:06.47ID:???
ループで回してnew_record?で判定することにしました
ありがとうございました。
0299あ2014/04/25(金) 16:27:02.89ID:???
国内セキュリティ企業が相次いで注意喚起:Struts 2の脆弱性は最新版でも未修正、Struts 1にも同様の脆弱性が存在 - @IT
http://www.atmarkit.co.jp/ait/articles/1404/24/news172.html

運用中のApache Webサーバの大半にセキュリティ脆弱性 | マイナビニュース
http://news.mynavi.jp/news/2014/02/11/038/
0300nobodyさん2014/04/25(金) 20:15:36.90ID:???
Ruby on Railsで作られた有名サイトの紹介 | PbTimes 情報誌
http://pb-times.jp/P_529d87c5b28d6
0301nobodyさん2014/04/29(火) 16:24:14.83ID:???
最近はじめたのですが、scaffoldってデータの管理画面を作るものって考えであってますか?
0302あ2014/04/29(火) 20:13:42.89ID:???
CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性[1]の4つの基本機能のイニシャルを並べた用語。
その4つとは、
Create(生成)、
Read(読み取り)、
Update(更新)、
Delete(削除)である。
ユーザインタフェースが備えるべき機能(情報の参照/検索/更新)を指す用語としても使われる。

ttp://ja.wikipedia.org/wiki/CRUD
0303nobodyさん2014/04/29(火) 23:21:27.82ID:???
>>301

scaffold - (建築・修繕・改装の際の)足場, 仮構え (scaffolding);
 (高層建築のガラス窓拭き用や画家の制作の際の)つり足場, (高所作業用の)ゴンドラ

(研究社 新英和大辞典 第6版から引用)
0304nobodyさん2014/04/30(水) 14:47:16.19ID:???
>>301
ぶっちゃけ商用レベルで管理画面作る時は使わない
手軽にRESTfulなMVCモデルを作れるものくらいの認識
0305nobodyさん2014/04/30(水) 22:15:24.71ID:CrhybghX
>>303-304
なるほど、thx!
0306あ2014/05/07(水) 01:41:55.35ID:???
Riding Rails: Rails 3.2.18, 4.0.5 and 4.1.1 have been released!
http://weblog.rubyonrails.org/2014/5/6/Rails_3_2_18_4_0_5_and_4_1_1_have_been_released/
0307nobodyさん2014/05/07(水) 22:53:01.45ID:???
Hoge.find(:all, include: :fuga)


これってRails2.0時代の記法なんですかね?
3.2とか4系だとfindは検索したい列名しかとらない気がするんですが
■ このスレッドは過去ログ倉庫に格納されています