0
これは私がここでやろうとしていることです。私はユーザーコントローラから機能テストを呼び出します。テスト関数の内部では、このような新しい記事オブジェクトを初期化します。article = new Article
。しかし、これは、私は、コード新しいオブジェクトを作成するときにパラメータにエラーが発生する
users_controller
def create
User.test
end
private
def user_params
params.require(:user).permit(:name, articles_attributes:[:content)
end
Userモデル
私はこの質問を求め、多くの時間に答えてきた知っているclass User
def self.test
article = new Article
article.attributes = {"content"=>"this is some sample content"}
article.save
end
end
しかし
ArgumentError in UsersController#create
When assigning attributes, you must pass a hash as an argument.
次している私にエラーを与えます私は私の問題や解決策と一致する何かを見つけることができませんでした。だから、記事モデルオブジェクトをユーザモデルコールの中に保存する方法を教えてください。
をサニタイズコントローラ
user_params
方法とは関係ありませんか?ああなるほど。 Class#new'を呼び出してクラス定義を渡してコンパイルします。しかしそれはまだあなたが思っていることをしていない。試して 'article = Article.new' –