0

我正在开发一个需要用户在表单中输入信息的应用程序。它对某些字段进行了基本验证,以检查它们是否为空白。

用户模型有很多 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--#

删除验证可以让我这样做,但我不想删除它。似乎删除外键可以让我验证。但我希望两者都能工作,非常感谢任何帮助,谢谢

4

1 回答 1

0

正如 SteveTurczyn 所说,改变

@user = current_user
@user_entry = @user.user_entries.build

只是

 @user_entry.user = current_user

使代码工作,就像解决这么多问题一样,它不会使事情变得过于复杂。

再次感谢史蒂夫·图尔钦

于 2013-07-23T09:14:34.893 回答