小编Ped*_*ima的帖子

验证失败类必须存在

在Rails中,我一直(小时)遇到麻烦.我发现了很多类似的问题,但我不能申请我的案子:

城市班级:

class City < ApplicationRecord
  has_many :users
end
Run Code Online (Sandbox Code Playgroud)

用户班级:

class User < ApplicationRecord
  belongs_to :city

  validates :name, presence: true, length: { maximum: 80 }
  validates :city_id, presence: true
end
Run Code Online (Sandbox Code Playgroud)

用户控制器:

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
Run Code Online (Sandbox Code Playgroud)

用户查看:

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

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

  <%= f.label :citys_id, "City" %> …
Run Code Online (Sandbox Code Playgroud)

validation ruby-on-rails associations belongs-to model-associations

36
推荐指数
2
解决办法
2万
查看次数