在我的 Rails 应用程序中,我有一个用户名模型,它以多态方式附加到 2 个模型小丑和舞者。
创建 Joker 时,表单会发送一个字符串,该字符串是 Joker 的用户名。我应该如何进行设置,以便在接收用户名的字符串而不是 AR 对象时,rails 不会引发错误?
这是我现在拥有的代码。
class Joker < ActiveRecord::Base
attr_accessible :username
has_one :username
end
并在创建 Jokers_controller
@joker = Joker.new(params[:joker])
Rails 抛出此错误:
Username(#19110) expected, got String(#9130)
所以这是表单域
= form_for @joker do |f|
- if @joker.errors.any?
#error_explanation
h2 = "#{pluralize(@joker.errors.count, "error")} prohibited this joker from being saved:"
ul
- @joker.errors.full_messages.each do |message|
li = message
= f.text_field :username