[前][次][番号順一覧][スレッド一覧]

rails:3953

From: dezawa <dezawa@a...>
Date: Sun, 15 Dec 2013 22:47:26 +0900
Subject: [rails:3953] Re: 効率的なコードの書き方について

レスポンスないですね。。。

ぽちぽちと。
まず
> 多対多を利用する?

一対多でも多対多でもできますが、次のようなときは多対多が良いと思います。
  著者から本を検索する
  著者一覧から選ぶ
一対多の場合は、Aさんが3冊本を書くと Authorに3つAさんのレコードができ
てしまいますが。

多対多でやる場合、
> author の順番には意味があるので、author_num で順番を管理する
> 著者を削除した場合、author_num がとびとびにならないようにする

を実現するには、BookとAuthorをつなげるtableに author_num columnを用意す
る必要があるので、has_and_belongs_to_many ではなく has_many :through を
使う事になるでしょう。


> ここを参考にすればいいよ
http://api.rubyonrails.org/ も rails4になってるし、Rails2で進めるとする
と、どこをみるとよいのかなぁ、、、


> fields_for を使えば管理が簡単
1対1の時はよいのですが、1対多になったときどうなのかなぁ、
私の場合、1対多でどう使ってよいかイメージが沸かず、使って居ません。
ここどなたか ご助言を


(2013年12月13日 18:40), Nobukazu TAKAI wrote:
> 皆様
> 
> 以前ご助言を頂き、bookとauthor modelを分けて作成し、show.html.erb は作成できたのですが、
> new, edit を作成しようと思い、できずに途方に暮れているので、再びお知恵を拝借できないでしょうか。
> book model と author model は以下の通りです。
> 
> book model : title, :abstract
> author model : book_id, author, affiliation, author_num
> 
> やりたいことは、
> 新しい book を登録するときに、author と affiliation も登録する。
> また、1冊の本に対して author は何人いるか分からないので、登録、もしくは編集の際に「著者を追加」と「著者を削除」ボタンを実装し、ボタンを押すことで、追加または削除ができる。
> author の順番には意味があるので、author_num で順番を管理する
> 著者を削除した場合、author_num がとびとびにならないようにする
> 以上のことです。
> 
> ネットで検索したのですが、分かったことは
> fields_for を使えば管理が簡単
> javascript を使ってボタンを作る
> ですが、なかなか思う通りに動作しないので、皆様にご相談しました。
> 
> ここを参考にすればいいよ、というような情報でも結構ですので、ご助言いただければ大変助かります。
> 
> 何卒宜しくお願い致します。
> 
> 
> 


--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      3939 2013-12-07 07:19 [nocturne_2_eflat_9_2] 効率的なコードの書き方について          
      3940 2013-12-07 09:15 ┣[dezawa@a...         ]                                       
      3941 2013-12-07 10:12 ┗[ayumu.aizawa@g...   ]                                       
      3942 2013-12-07 10:44  ┗[dezawa@a...         ]                                     
      3944 2013-12-07 15:10   ┗[nocturne_2_eflat_9_2]                                   
      3951 2013-12-13 10:40    ┣[nocturne_2_eflat_9_2]                                 
      3952 2013-12-13 10:40    ┗[nocturne_2_eflat_9_2]                                 
->    3953 2013-12-15 14:47     ┗[dezawa@a...         ]                               
      3954 2013-12-16 07:02      ┗[nocturne_2_eflat_9_2]