2

データの管理に active_admin を使用しています。私はactive_adminで投稿を管理していますが、今は新しい投稿を作成したいだけなので、新しいページでpost_title、post_contentなどのフォームを作成しました。しかし、投稿者に自分で post_author を入力させたくないので、問題が発生します: 作成者が作成ボタンをクリックすると、特定の入力がなくても、作成者の名前または作成者の ID が新しい投稿レコードに自動的に追加されます。 post_author?

form do |f|
  f.inputs "add title and time" do
    f.input :event_title,:label=>"title"
    f.input :event_time, :label=>"time"
  end
  f.inputs "add event" do
    f.input :event_description,:label=>"description"
  end
  f.buttons
end
4

1 に答える 1

1

現在の投稿者の名前が入力された隠しフィールドを使用できます。

Active Admin ドキュメントに示されているように、デフォルトは次のとおりです。

# config/initializers/active_admin.rb
config.current_user_method = :current_admin_user

非表示のフォーム フィールドに埋め込む必要があります。ヘルパー メソッドまたはインスタンス変数を使用してビュー内の名前にアクセスし、フォームに入力します。

または、投稿の #create コントローラー メソッドで事後に作成者を割り当てることもできます。

于 2013-06-06T16:31:11.217 に答える