ruby - rails strong parameter error on array attribute -


i try post json rails server request body

    {"post":{     "user_id": 2,     "title": "kehangatan di pagi hari",     "category": "kehangatan di pagi hari",     "imageposts": [{"imageurl":"djawhdahwdkjhaw dhjawdhawdawdad"}],     "description":"<p>memang sange</p>"   } } 

and posts_params

  def post_params     params.require(:post).permit(:title, :user_id, :description, :category, :imageposts => [:imageurl])   end 

unfortunately when make ajax post got error in terminal

#<activerecord::associationtypemismatch: imagepost(#42287660) expected, got activesupport::hashwithindifferentaccess(#30074960)> 

i've trying imageposts strong parameter doesnt work too

imageposts: [:imageurl] 

can solve this...

the strong params fine. problem imageposts association, but, guess, tried set attribute post.update_attributes(post_params)

if want updated this, possible solution use accepts_nested_attributes_for:

your model must have like:

class post   belongs_to :user   has_many :imageposts   accepts_nested_attributes_for :imageposts end 

and name of params must imageposts_attributes instead of imageposts:

def post_params   params.require(:post).permit(:title, :user_id, :description, :category, :imageposts_attributes => [:imageurl]) end 

Comments

Popular posts from this blog

node.js - Node js - Trying to send POST request, but it is not loading javascript content -

javascript - Replicate keyboard event with html button -

javascript - Web audio api 5.1 surround example not working in firefox -