14/04/24 01:05:04.94 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も更新
②入力したタグがDBに存在する場合は、taggingだけ更新
という挙動を期待しているのに、実際は、POSTされたtagsのパラメーターにidが存在しない場合は、
常にtagsを新規作成しようとしてしまいます(結果として、ユニーク制約に引っ掛かってエラー)
望むような挙動をさせたい場合はどうすればいいのでしょうか?
既存のtagはセレクトボックス、新規作成の場合はテキストボックスなどでわけられるのが理想なのですが・・・
295:あ
14/04/24 09:03:50.11
ASCII.jp:開発者はビットコイン採掘を狙うハッカーに備えて Amazon の請求書を確認すべき
オーストラリアのセキュリティ専門家が先月に実施したGitHubの検索では、約1万件のAWS 認証情報が発見されている。
URLリンク(ascii.jp)
296:nobodyさん
14/04/24 12:42:49.45
>>294
taggingはproductに毎回付随していて、tagは全てのタグの一覧と言う認識でOK?
それならfields_forで入力させるのはtaggingで、taggingを保存する際にafter_saveで
そのタグが新規かどうかを判定して新規ならtagsを保存すればいいんじゃないのかな
といっても要件がよく理解できてないから的はずれかも
297:nobodyさん
14/04/24 19:50:38.29
>>296
ありがとうございました。
ただし fields_forで:taggingを指定しても出てこないです・・・。
298:294, 297
14/04/24 20:10:06.47
ループで回してnew_record?で判定することにしました
ありがとうございました。
299:あ
14/04/25 16:27:02.89
国内セキュリティ企業が相次いで注意喚起:Struts 2の脆弱性は最新版でも未修正、Struts 1にも同様の脆弱性が存在 - @IT
URLリンク(www.atmarkit.co.jp)
運用中のApache Webサーバの大半にセキュリティ脆弱性 | マイナビニュース
URLリンク(news.mynavi.jp)
300:nobodyさん
14/04/25 20:15:36.90
Ruby on Railsで作られた有名サイトの紹介 | PbTimes 情報誌
URLリンク(pb-times.jp)
301:nobodyさん
14/04/29 16:24:14.83
最近はじめたのですが、scaffoldってデータの管理画面を作るものって考えであってますか?
302:あ
14/04/29 20:13:42.89
CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性[1]の4つの基本機能のイニシャルを並べた用語。
その4つとは、
Create(生成)、
Read(読み取り)、
Update(更新)、
Delete(削除)である。
ユーザインタフェースが備えるべき機能(情報の参照/検索/更新)を指す用語としても使われる。
URLリンク(ja.wikipedia.org)
303:nobodyさん
14/04/29 23:21:27.82
>>301
scaffold - (建築・修繕・改装の際の)足場, 仮構え (scaffolding);
(高層建築のガラス窓拭き用や画家の制作の際の)つり足場, (高所作業用の)ゴンドラ
(研究社 新英和大辞典 第6版から引用)
304:nobodyさん
14/04/30 14:47:16.19
>>301
ぶっちゃけ商用レベルで管理画面作る時は使わない
手軽にRESTfulなMVCモデルを作れるものくらいの認識
305:nobodyさん
14/04/30 22:15:24.71 CrhybghX
>>303-304
なるほど、thx!
306:あ
14/05/07 01:41:55.35
Riding Rails: Rails 3.2.18, 4.0.5 and 4.1.1 have been released!
URLリンク(weblog.rubyonrails.org)
307:nobodyさん
14/05/07 22:53:01.45
Hoge.find(:all, include: :fuga)
これってRails2.0時代の記法なんですかね?
3.2とか4系だとfindは検索したい列名しかとらない気がするんですが
308:nobodyさん
14/05/08 07:01:03.36
>>307
そうです
3.xからは Hoge.all でいけます
309:nobodyさん
14/05/08 23:23:32.55
>>308
ありがとうございます
bullet使っていると、:includeつけろってうるさいんですが
これってこのgemが3系のまま変わってないってことですよね
310:nobodyさん
14/05/09 00:04:20.97
>>309
とりあえずこの辺読んでRails3以降のクエリの書き方をお勉強なされ
URLリンク(guides.rubyonrails.org)
311:nobodyさん
14/05/13 00:47:11.48 jc+wbYf6
>>293
thank you.
you are good japanese!
312:nobodyさん
14/05/13 16:10:33.81
良い日本人がいるんじゃなくて、日本人はみんな良い人だよ
313:nobodyさん
14/05/13 23:07:46.16
このスレ、外国の人も住んでるの?
314:nobodyさん
14/05/14 07:59:55.63
>>312
素で言ってるとも思えんので何某かのネタなんだろうけど、笑う所が解らん。
流行りのコピペなのかな。