2016-09-27 2 views
-1

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 
+0

コントローラの 'create'メソッドを投稿できますか? – araratan

+0

私はcreateメソッドを使って投稿します。私は上記のコードを追加しました。 – johnny

答えて

1

データベースにsupport属性を作成したかどうかを確認する必要があります。 製品の移行ファイルに含まれている必要があります。 それとも、レールコンソールとタイプに行くことができます:あなたのモデルが自動的に属性にマッピングされたすべての列を印刷する必要があり

Product.columns.map(&:name) 

+0

私は愚かな間違いをしました。私はこの問題を解決しました。ありがとうございました! – johnny

+0

問題ありません。助けがあればこれを答えとして記入してください。 –

0

ActiveRecord::UnknownAttributeError (unknown attribute 'support' for Product.): 製品であるNO「サポート」属性を持っていないか、エラー「サポート」、単語のスペルエラーをチェックしています。

関連する問題