Validación fallida La clase debe existir

He tenido (horas) problemas con las asociaciones en Rails. Encontré muchos problemas similares, pero no pude solicitar mi caso:

Clase de la ciudad:

class City < ApplicationRecord
  has_many :users
end

Clase de usuario:

class User < ApplicationRecord
  belongs_to :city

  validates :name, presence: true, length: { maximum: 80 }
  validates :city_id, presence: true
end

Controlador de usuarios:

def create
    Rails.logger.debug user_params.inspect
    @user = User.new(user_params)
    if @user.save!
      flash[:success] = "Works!"
      redirect_to '/index'
    else
      render 'new'
    end
 end

def user_params
  params.require(:user).permit(:name, :citys_id)
end

Vista de usuarios:

<%= form_for(:user, url: '/user/new') do |f| %>
  <%= render 'shared/error_messages' %>

  <%= f.label :name %>
  <%= f.text_field :name %>

  <%= f.label :citys_id, "City" %>
  <select name="city">
    <% @city.all.each do |t| %>
      <option value="<%= t.id %>"><%= t.city %></option>
    <% end %>
  </select>
end

Emigrar:

class CreateUser < ActiveRecord::Migration[5.0]
  def change
    create_table :user do |t|
      t.string :name, limit: 80, null: false
      t.belongs_to :citys, null: false
      t.timestamps
  end
end

Mensaje de la consola y el navegador:

ActiveRecord::RecordInvalid (Validation failed: City must exist):

Bueno, el problema es que los atributos del modelo del Usuario que no son FK son aceptados por el método User.save, y los atributos FK como citys_id no lo son. Luego me da un mensaje de error en el navegador que dice que "La ciudad falló en la validación debe existir".

Gracias

Respuestas a la pregunta(6)

Su respuesta a la pregunta