Neon_10
Neon_10

Reputation: 731

Rails variable can not be saved

I have such strange problem: I have this method:

def create_default_workspace(user)
  @workspace = Workspace.new(title: "#{user.name}'s workspace")
  @workspace.save
  user.selected_workspace_id = @workspace.id
  if user.save
    puts "Saved"
  else
    puts "not saved"
  end
end

Which gives me "not saved". Do you have any ideas why variable user can not be saved?

Upvotes: 1

Views: 103

Answers (2)

uzaif
uzaif

Reputation: 3531

Try This Code

def create_default_workspace(user)
  @workspace = Workspace.new(workspace_params)
  @workspace.save
  user.selected_workspace_id = @workspace.id
  if user.save
    puts "Saved"
  else
    puts "not saved"
  end
end

private 

  def workspace_params
    params.require(:workspace).permit(:title)
  end

You Forgot to add strong params method

Upvotes: 3

Neon_10
Neon_10

Reputation: 731

The problem was that I forgot about strong parameters, as @uzaif mentioned. After adding params.require(:user).permit(:selected_workspace_id) works well

Upvotes: 0

Related Questions