2011-07-26 17 views
1

ユーザーのスキルとユーザーのスキルが報告されているので、フォームにacceptable_nestedリソースを使用するようにしました。
すべてが正常に機能し、ユーザーにはチャンスがあります新しいスキルを作り、自分にそれを関連付けることができます。
同じ名前のスキルがすでに存在する場合、同じ名前のスキルがもう1つ作成されることは望ましくありません。ユーザーと既存のスキルとの関連付けをしたいだけです。
スキルを作成するか、単に関連付けるかを選択するには、ネストされたリソースへのアプローチを残して、コントローラーでいくつかのコントロールを実行する必要がありますか?
Tnxネストされたリソースチェック

答えて

0

Railsのfind_or_create_byメソッドを使用して、選択した条件でスキルを検索または作成できます。それをユーザーのスキルコレクションに追加します。私はあなたのコードがどのように見えるかはわかりませんが、次のようなものです:

@skill = Skill.find_or_create_by_name(params[:skill][:name]) 
@user.skills << @skill 
+0

コントローラの代わりにモデルメソッドに入れるのが良いでしょう。 – dogenpunk