RAILS - 强参数 - has_many through

时间:2015-02-25 23:13:57

标签: ruby-on-rails has-many-through strong-parameters post-parameter

我有

用户模型

has_many :relationships
has_many :cars, through: :relationships

汽车模型

has_many :relationships
has_many :users, through: :relationships
validates :cardescription, uniqueness: true

关系模型

belongs_to :car
belongs_to :user

我的初始用户表单构建器可以包含许多汽车(数字范围从1到20,无法预测)。所以我的用户#create controller接收为POST参数:

"user"=>
{
"cars_attributes"=>
    {
    "1"=>{"cardescription"=>"My first car description"}, 
    "2"=>{"cardescription"=>"My second car description"}, 
    "3"=>{"cardescription"=>"My third car description"}
    }, 
"name"=>"My user name", 
"color"=>"My user favorite color"
}

我想写

def post_params
    params.require(:user).permit(:name, :color, cars_attributes => [....])
end

能够做到:

@user = User.new(post_params)
@user.save

(并创建不存在的汽车或仅将现有汽车链接到我的新用户)......

但我真的被这个[#{{{{#{[〜#`| \ ^ \ ^!@]强烈的参与者所困扰。

对post_params有什么想法吗?

非常感谢!!

0 个答案:

没有答案