rails apiで入力フォームを作成していて、レールをテストしたところ、このエラーが返されました。もちろん、その後、下記の簡単なフォームにどのようにしてActiveRecord :: UnknownAttributeErrorを解決できますか?
ActiveRecord::UnknownAttributeError (unknown attribute 'support' for Product.):
app/controllers/products_controller.rb:36:in `create'
Parameters: {"product"=>{"maker"=>"", "model"=>"", "price"=>"", "method"=>"", "support"=>"", "size"=>"", "agency"=>""}, "use "=>{"use"=>"qq"}}
実際に私の入力データとProductUseモデルを通じて、各テーブルにすべてのデータに送られたが、ProductUse model.SomeoneにPRODUCT_IDとuse_idを追加このことを知って教えてください。
<input type="string" name="product[maker]" placeholder="maker">
<input type="string" name="product[model]" placeholder="model">
<input type="string" name="product[price]" placeholder="price">
<input type="string" name="product[method]" placeholder="method">
<input type="string" name="product[support]" placeholder="support">
<input type="string" name="product[size]" placeholder="size">
<input type="string" name="product[agency]" placeholder="agency">
<input type="string" name="use[use]" placeholder="use">
<input type="submit" value="Add">
class Product < ActiveRecord::Base
has_many :product_uses
has_many :uses, :through => :product_uses
accepts_nested_attributes_for :uses
end
class Use < ActiveRecord::Base
has_many :product_uses
has_many :products, :through => :product_uses
end
class ProductUse < ActiveRecord::Base
belongs_to :product
belongs_to :use
end
def create
@product = Product.new(product_params)
if [@product,@uses].save
render json: @product, status: :created, location: @product
else
render json: @product.errors, status: :unprocessable_entity
end
end
def product_params
params.require(:product).permit(:maker, :model, :method, :price, :support, :size, :agency)
end
コントローラの 'create'メソッドを投稿できますか? – araratan
私はcreateメソッドを使って投稿します。私は上記のコードを追加しました。 – johnny