我正在开发一款需要用户在表单中输入信息的应用。它对某些字段进行了基本验证,以检查它们是否为空白。
用户模型有许多user_entries
has_many :user_entries, dependent: :destroy
并且user_entry模型属于用户
belongs_to :user
问题出现在user_entry模型中的验证
validates :name, :address, :email, presence: true
在将外键user_id添加到user_entries表之前,此代码工作正常,我可以填写表单没有问题,并将条目添加到表中。但我需要捕获user_entries表中的当前用户ID,以便我可以跟踪用户的条目。
def create
@user_entry = UserEntry.new(params[:user_entry])
@user_entry.add_comp_connections_from_entered_competition(current_entered_competition)
@user = current_user
@user_entry = @user.user_entries.build
#--etc--#
删除验证让我这样做,但我不想删除它。似乎删除外键让我验证。但我希望两者都能发挥作用,非常感谢任何帮助,谢谢
答案 0 :(得分:0)
SteveTurczyn所说的改变
@user = current_user
@user_entry = @user.user_entries.build
到
@user_entry.user = current_user
使代码工作,就像解决许多问题一样,它不会使事情变得复杂。
再次感谢Steve Turczyn