ruby on railsにおけるモデルの関連付け
ruby on rails のアソシエーションについて。
ruby on railsにおける、リレーショナルデータベースの作成についての質問です。
現在、
name,yomi,commentのカラムを持つnamesテーブル
name1,name2,groupname,commentのカラムを持つgroupsテーブルをscaffoldにて作成しております。
この2つのテーブルを関連付けをしたいと考えています。
具体的には、
name1とname2を、それぞれnamesテーブルの中のnameを参照して使用したいと考えています。
各モデルのプログラムは以下のようになっています。
name.rb
class Name < ActiveRecord::Base
has_many :group
attr_accessible :name :yomi :comment
end
group.rb
class Group < ActiveRecord::Base
attr_accessible :name1, :name2, :groupname, :comment
end
おそらく、groupテーブルに、name_idというカラムを追加し、nameテーブルにはhas_many :groups
を追加する。といった形で良いかと考えていましたが、うまくいきません。
どのような形で実装すればよいか教えていただけないでしょうか。
また、もう1点、現在groupテーブルをweb上から登録する機能を作っています。
仕様としては、入力したname1,name2がすべてnamesテーブルのnameに含まれていれば、
name1,name2,groupname,commentすべてを登録、
いずれかあるいは両方が含まれていなければ、nameの登録画面へリンク、
となります。
現在実装中のプログラムのコントローラー部分(一部)は以下のようになります。
def create
tag = params[:tag]
@groups = Group.new
もし、name1 name2 がnam2に含まれているならば、
@groups.name1 = tag[0]
@groups.name2 = tag[1]
@groups.groupname = tag[2]
@groups.comment = tag[3]
そうでなければ、
redirect_to name 登録画面
このような形で考えています。
こちらも、どのように実装すればよいか教えていただけないでしょうか?
railsのバーションは3.1です。
お礼
お礼が遅くなり、申し訳ありません。 試してみてうまく動きました。 これで多少なりとも効率的に開発できそうです。