2013-08-25 3 views
0

Прежде всего, обратите внимание, что я работаю с рельсами 4 и activeadmin rails 4 branch. https://github.com/gregbell/active_admin/tree/rails4Activeadmin has_many форма для просмотра и редактирования только

У меня есть две модели pictue, которая ploymorphic

class Picture < ActiveRecord::Base 
belongs_to :picture_category 
belongs_to :imageable, polymorphic: true 

mount_uploader :image, ImageUploader 
end 

И корабль

class Ship < ActiveRecord::Base 
    has_many :pictures, as: :imageable 
    accepts_nested_attributes_for :pictures 
end 

И activeadmin ship.rb

ActiveAdmin.register Ship do 

    form do |f| 
     f.inputs do 
     f.inputs 
     f.has_many :pictures, :sortable => :picture_categories do |ff| 
      ff.input :name 
     end 
     end 
    f.actions 
    end 

controller do 
    def permitted_params 
    params.permit(:ship => [:name, :title, :short_desc, :description, :position, :pictures, :enabled, :ship_provider_id, :picture_category_id, :picture_id]) 
    end 
end 
end 

но результат таков:

enter image description here

  1. Как избавиться от удаления кнопки и отправить
  2. как я могу показать эту форму только на шоу и редактировать формы, потому что это еще не имеет смысла, имеющего ребенка до родителей

Пожалуйста, укажите какие ошибки в коде.

+0

Я только заметил, эта линия должна также иметь f.actions, но до сих пор отправить форму доцент f.has_many: фотографии,: сортируется =>: picture_categories сделать | далее | ff.input: name end –

ответ

0

Я знаю, как решить первую проблему/ Вам нужно ввести : отправить действие вместо кнопки для ввода вложенного ресурса. Пример:

form do |ship| 
    ship.inputs t(:ship_details) do 
    ship.input :name, :label => t(:name) 
    ship.input :description, :label => t(:description) 
    ship.has_many :pictures do |picture| 
     picture.input :url 
     picture.input :imgdescription 
     picture.actions do 
     picture.action :submit 
     end 
    end 
    end 
end 
Смежные вопросы