Reputation: 731
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
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
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