Rails 3.2.3を使用していますが、HABTMリレーションで値を割り当てるのに問題があります。
基本的に、製品とユーザーの2つのモデルがあります。新しい製品を作成するときに、Products_Usersの中央のテーブルに挿入された値を挿入したいと思います。
将来的には、製品の元の作成者だけでなく、「ユーザーxもその製品を編集できる」と言えるようにするためにHABTMである必要があります。
私のモデル:(簡単にするために他の関係は省略されています)
product.rb
class Product < ActiveRecord::Base
has_and_belongs_to_many :users
accepts_nested_attributes_for :users
attr_accessible <product attributes>, :user_ids, :user_id #it says cant mass assign user_ids so I also added the :user_id, but then it says unknown attribute :user_id
end
user.rb
class User < ActiveRecord::Base
has_and_belongs_to_many :products
attr_accessible :user_id <plus the user attributes>
end
私の製品コントローラーには、scaffoldからのデフォルトのアクションとコードがあります。
問題は私の見解にもあるかもしれません。また、製品とカテゴリの間にHABTMの関係があり、すべて問題ありません(チェックボックスリストからカテゴリを選択します)
しかし、すでにログインしているユーザーが新しい製品を作成した後、Products_Usersテーブルに新しい行を挿入するにはどうすればよいですか?
フォームの後に私のビューで使用しようとしています:
<%= f.hidden_field:product_id、:value => params [:id]%>#製品が技術的に作成されていない場合、ここに何を入力しますか?
<%= f.hidden_field:user_id、:value => current_user.id%>#この「current_user.id」は他のビューで機能します。
これは機能しておらず、ほとんど意味がありませんが、私がやろうとしていることを達成することは可能ですか?
ご協力いただきありがとうございます