私の Rails アプリには、ジョーカーとダンサーの 2 つのモデルにポリモーフィックに接続されたユーザー名モデルがあります。
Joker を作成するとき、form は Joker のユーザー名である文字列を送信します。ユーザー名のARオブジェクトの代わりに文字列を受け取ったときにレールがエラーをスローしないように、これを設定するにはどうすればよいですか?
ここに私が今持っているコードがあります。
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