Ruby on Railでサイトを作成しようとしています。『activeadmin』でうまくいかないところがありましたので、質問致します。
質問内容:
『activeadmin』上で親モデルの値を子モデルで取得しようとしています。新しいチケットを作成しようとするとエラーが発生します。
『f.input』の記述方法が適当でないため、エラーが表示されているのだと思いますが、原因がよくわかりません。その点についてご教授いただければと思います。
また、今回、エラーは出ていませんが、『column』や『filter』での項目の記述方法についても自信がありませんので、ご教授いただければ思います。
その他の情報:
・『devise』と『activeadmin』を組み合わせて使用しています。
・他のモデルとアソシエーションしないモデル(例:ticketモデル)については、レコードの閲覧/追加/編集/削除を問題なく行うこと出来ます。
・今現在、『ticket』テーブルには1件もレコードが登録されていません。
Ruby(Ruby
1class Ticket < ApplicationRecord 2 belongs_to :user 3 accepts_nested_attributes_for :user 4 belongs_to :stage 5 accepts_nested_attributes_for :stage 6 belongs_to :type 7 accepts_nested_attributes_for :type 8end
Ruby(Ruby
1class User < ApplicationRecord 2 # Include default devise modules. Others available are: 3 # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable 4 devise :database_authenticatable, 5 :recoverable, :rememberable, :validatable 6 7 has_many :tickets 8end
Ruby(Ruby
1class Stage < ApplicationRecord 2 has_many :tickets 3end
Ruby(Ruby
1class Type < ApplicationRecord 2 has_many :tickets 3end
Ruby(Ruby
1ActiveAdmin.register Ticket do 2 3permit_params :count, :b_name, :b_mail, :comment, users_attributes: [:name], stages_attributes: [:performance], types_attributes: [:kind] 4 5 6index do 7 selectable_column 8 id_column 9 column :ticket.user.name 10 column :ticket.stage.performance 11 column :ticket.type.kind 12 column :count 13 column :b_name 14 column :b_mail 15 column :comment 16 actions 17 end 18 19 filter :user_name, as: :string 20 filter :stage_performance, as: :string 21 filter :type_kind, as: :string 22 filter :count 23 filter :b_name 24 filter :b_mail 25 filter :comment 26 27 form do |f| 28 f.inputs do 29 f.has_many :users do |t| 30 t.input :name 31 end 32 end 33 34 f.inputs do 35 f.has_many :stages do |u| 36 u.input :performance 37 end 38 end 39 40 f.inputs do 41 f.has_many :types do |v| 42 v.input :kind 43 end 44 end 45 46 f.inputs do 47 f.input :count 48 f.input :b_name 49 f.input :b_mail 50 f.input :comment 51 end 52 f.actions 53 end 54 55end
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/25 05:00