在Rails 5的belongs_to关联中,可以通过使用foreign_key选项来忽略id并按唯一名称创建通信。
具体步骤如下:
class User < ApplicationRecord
has_one :profile, foreign_key: 'user_name', dependent: :destroy
end
class Profile < ApplicationRecord
belongs_to :user, foreign_key: 'user_name'
end
class ProfilesController < ApplicationController
def create
@user = User.find(params[:user_id])
@profile = @user.build_profile(profile_params)
if @profile.save
# 保存成功的处理逻辑
else
# 保存失败的处理逻辑
end
end
private
def profile_params
params.require(:profile).permit(:name, :age)
end
end
在上述代码中,通过@user.build_profile
创建一个新的Profile对象,并将其与当前的User对象关联起来。
这样,通过使用foreign_key选项,就可以忽略id字段,并按唯一名称创建通信。
领取专属 10元无门槛券
手把手带您无忧上云