无法在Active Admin面板,Rails 4和Devise中创建新记录

埃德加斯

我已经为我的应用程序创建了ActiveAdmin控制面板。问题是我不能从那里创建新的广告。我可以毫无问题地创建任何其他资源。

admin / advertisement.rb

form :html => { :enctype => "multipart/form-data" } do |f|
  f.inputs "Content" do
          f.input :name
         f.input :email
         f.input :country
         f.input :phone_number
         f.input :region
         f.input :age
         f.input :weight
         f.input :description
         f.input :description_ru
  end

  f.inputs 'Workhours' do
      f.input :work1
       f.input :work2
        f.input :work3
         f.input :work4
  end


  f.inputs 'Services' do
      f.input :services, :as => :check_boxes
  end

  f.inputs 'Blacklist (Information: Both checkboxes need to be checked to blacklist user! )' do

         f.input :in_blacklist
         f.input :admin_confirmed
   end 

  f.inputs "Image" do 
  f.has_many :pictures do |ff|

      ff.input :image, as: :file
      ff.input :_destroy, as: :boolean
     ## ff.image_tag :photo
  end


  end

   f.inputs 'Change password' do
      f.input :password
      f.input :password_confirmation
  end

  f.actions
  end

ActiveAdmin外部的工作表:

 <%= form_for @advertisement,remote: true ,format: :json,:html => {:multipart => true, :class => "form-horizontal advertisement" ,"data-parsley-validate" => true} do |f| %>

 <div class="column-img-main">  

                      <%= file_field_tag "images[]", type: :file, multiple: false,:id=>"myfile", :required => true%>
                          <%= image_tag("camera.png")%>


                  </div>


                  <div class="column-img-secundar">
                          <%= file_field_tag "images[]", type: :file, multiple: false,:id=>"myfile2"%>
                          <%= image_tag("camera.png")%>
                  </div>
                     <div class="column-img-secundar">
                       <%= file_field_tag "images[]", type: :file, multiple: false,:id=>"myfile3"%>
                        <%= image_tag("camera.png")%>
                    </div>
                     <div class="column-img-secundar">
                         <%= file_field_tag "images[]", type: :file, multiple: false,:id=>"myfile4"%>
                        <%= image_tag("camera.png")%>
                     </div>

 <button name="name" id="submitbutton"  value="value" type="submit"><span>Pievienot</span></button>

我已经允许admin / advertisement.rb中的所有参数

 permit_params :id, :password,:password_confirmation,:name, :work1,:paid, :work2, :check, :can_add_review,:work3, :work4,:smsidentifier,:smsidentifier_confirmation,:provaider, :expiration,:your_ip,:in_blacklist,:admin_confirmed,:country_id, :region_id,:user_id,:phone_number,:image,:terms_of_service,:region,:age,:height,:weight,:client_age,:description,:description_ru,:email, service_ids: [], hour_ids: [], pictures_attributes: [:image, :id, :_destroy], commit: [:locale]

广告控制器:

def create
  @advertisement = Advertisement.new(advertisement_params.merge(service_ids: params[:service_ids], hour_ids: params[:hour_ids]))

    if @advertisement.save
     if params[:images]

         params[:images].each { |image|
           @advertisement.pictures.create(image: image)
        }


         respond_with(@advertisement)
      end

    else
       @services = Service.all    
    @country = Country.all
    @hours = Hour.all
     @regions = Region.where("country_id = ?", Country.first.id)
      render 'new'
    end

  end

广告模式:

...
    has_many :pictures, :dependent => :destroy
accepts_nested_attributes_for :pictures
...

当我尝试创建新广告时,我被重定向回没有错误的表单。

当我检查日志文件时,我得到以下信息:

Processing by Admin::AdvertisementsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"j84kG6C7du0kM4UvUHS5IgCk/xiFRNRdE1jrsz1RybE=", "advertisement"=>{"name"=>"444", "email"=>"[email protected]", "country_id"=>"1", "phone_number"=>"25245245", "region_id"=>"19", "age"=>"18", "weight"=>"45", "description"=>"<p>4jhbrefwe</p>", "description_ru"=>"<p>fewf</p>", "work1"=>"12", "work2"=>"12", "work3"=>"12", "work4"=>"12", "service_ids"=>["", "3", "5", "7"], "in_blacklist"=>"0", "admin_confirmed"=>"0", "pictures_attributes"=>{"0"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x000000077cab80 @tempfile=#<Tempfile:/tmp/RackMultipart20150207-10727-aq67z0>, @original_filename="block-3-image.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"advertisement[pictures_attributes][0][image]\"; filename=\"block-3-image.jpg\"\r\nContent-Type: image/jpeg\r\n">, "_destroy"=>"0"}}, "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Create Advertisement", "locale"=>"ru"}

在那之后

  [1m[36mAdminUser Load (0.2ms)[0m  [1mSELECT  `admin_users`.* FROM `admin_users`  WHERE `admin_users`.`id` = 2  ORDER BY `admin_users`.`id` ASC LIMIT 1[0m
Unpermitted parameters: locale
  [1m[35mService Load (0.3ms)[0m  SELECT `services`.* FROM `services`  WHERE `services`.`id` IN (3, 5, 7)
Command :: file -b --mime '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-1ernhy3.jpg'
Command :: identify -format '%wx%h,%[exif:orientation]' '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k34.jpg[0]' 2>/dev/null
Command :: identify -format %m '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k34.jpg[0]'
Command :: convert '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k34.jpg[0]' -auto-orient -resize "447x479>" '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k3420150207-10727-1nteal9'
Command :: file -b --mime '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k3420150207-10727-1nteal9'
Command :: identify -format '%wx%h,%[exif:orientation]' '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k34.jpg[0]' 2>/dev/null
Command :: identify -format %m '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k34.jpg[0]'
Command :: convert '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k34.jpg[0]' -auto-orient -resize "100x100>" '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k3420150207-10727-b0yix1'
Command :: file -b --mime '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-wc6k3420150207-10727-b0yix1'
  [1m[36m (0.3ms)[0m  [1mBEGIN[0m
  [1m[35mAdvertisement Exists (0.3ms)[0m  SELECT  1 AS one FROM `advertisements`  WHERE `advertisements`.`email` = BINARY '[email protected]' LIMIT 1
  [1m[36mRegion Load (0.3ms)[0m  [1mSELECT  `regions`.* FROM `regions`  WHERE `regions`.`id` = 19 LIMIT 1[0m
  [1m[35mCACHE (0.0ms)[0m  SELECT  1 AS one FROM `advertisements`  WHERE `advertisements`.`email` = BINARY '[email protected]' LIMIT 1
Command :: file -b --mime '/tmp/7a0f2c7d5a272c46ee81fb7c26d055be20150207-10727-1nq2jam.jpg'
  [1m[36m (0.3ms)[0m  [1mROLLBACK[0m

我检查了ImageMagick是否安装了:

/ usr / local / bin / convert -version

Version: ImageMagick 6.8.9-10 Q16 x86_64 2014-11-14 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC OpenMP
Delegates: x zlib

然后,我比较了成功创建广告的日志输出,发现该应用程序没有尝试保存图片。我错过了这个输出:

 [1m[36mSQL (0.3ms)[0m  [1mINSERT INTO `pictures` (`advertisement_id`, `created_at`, `image_content_type`, `image_file_name`, `image_file_size`, `image_updated_at`, `updated_at`) VALUES (85, '2015-02-07 16:41:12', 'image/jpeg', 'person.jpg', 13168, '2015-02-07 16:41:12', '2015-02-07 16:41:12')[0m
  [1m[35m (30.3ms)[0m  COMMIT

但是,为什么它不能在AdminPanel中工作,而直接在应用程序中工作呢?

任何提示将是伟大的。谢谢。

尤金·彼得罗夫(Eugene Petrov)

也许问题出在这里

if params[:images]

我没有在表单中看到“图像”参数,而是:pictures在表单声明中使用了该参数,然后查看日志,似乎返回了:pictures_attributes所以

@advertisement.pictures.create(image: image)

从来没有叫过?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby:如何根据可变数量(Active Admin,rails 3.2,ruby)在Active Admin面板中对单词进行复数/单数化

来自分类Dev

无法使用Active Admin和Rails 4.1使用“二进制”字段创建模型

来自分类Dev

无法创建具有关联Active Admin的记录

来自分类Dev

Rails 4和Active Admin:ActiveModel :: ForbiddenAttributesError

来自分类Dev

Rails 4和Active Admin:ActiveModel :: ForbiddenAttributesError

来自分类Dev

无法在关联模型的Active Admin索引属性中显示(belongs_to / has_many)-Rails 3.2

来自分类Dev

Rails Active Admin + Chartkick =无法正常工作?

来自分类Dev

更新后无法在Rails Admin中创建新对象

来自分类Dev

Active Admin Rails 4内联表单

来自分类Dev

Active Admin Rails 4有很多

来自分类Dev

无法创建或更新Rails 4中的belongs_to记录

来自分类Dev

Ruby on Rails使用active_admin和ransack,对active_admin:resource的页面调度错误

来自分类Dev

Ruby on Rails,用户模型和Active Admin查询

来自分类Dev

在 Active Admin 中创建记录时如何修复 RecordNotFound 错误?

来自分类Dev

如何在Rails Active Admin中添加Colorpicker?

来自分类Dev

在Rails应用中未发现Active Admin Trumbowyg @import错误

来自分类Dev

无法登录Active Admin。有什么办法创建管理员用户?

来自分类Dev

无法登录Active Admin。有什么方法可以创建管理员用户?

来自分类Dev

在Active Admin中创建用户

来自分类Dev

Active Admin无法正确解析html

来自分类Dev

Rails-4 Devise +无法隐藏编辑和销毁链接

来自分类Dev

Rails,Active Admin,设计,路线

来自分类Dev

Rails Active Admin更改网址

来自分类Dev

如何在Active Admin Rails 4中将列标题添加到默认操作

来自分类Dev

在Active Admin Rails中自定义按钮和成功消息

来自分类Dev

无法在Vue.js(Ruby on Rails Active Storage)中显示我的ActiveStorage文件

来自分类Dev

无法在Active Directory中创建新用户(将Samba4用作DC和AD)

来自分类Dev

Ruby On Rails Active Admin has_many 下拉菜单以添加新对象

来自分类Dev

Django admin - 管理面板中的表单验证

Related 相关文章

  1. 1

    Ruby:如何根据可变数量(Active Admin,rails 3.2,ruby)在Active Admin面板中对单词进行复数/单数化

  2. 2

    无法使用Active Admin和Rails 4.1使用“二进制”字段创建模型

  3. 3

    无法创建具有关联Active Admin的记录

  4. 4

    Rails 4和Active Admin:ActiveModel :: ForbiddenAttributesError

  5. 5

    Rails 4和Active Admin:ActiveModel :: ForbiddenAttributesError

  6. 6

    无法在关联模型的Active Admin索引属性中显示(belongs_to / has_many)-Rails 3.2

  7. 7

    Rails Active Admin + Chartkick =无法正常工作?

  8. 8

    更新后无法在Rails Admin中创建新对象

  9. 9

    Active Admin Rails 4内联表单

  10. 10

    Active Admin Rails 4有很多

  11. 11

    无法创建或更新Rails 4中的belongs_to记录

  12. 12

    Ruby on Rails使用active_admin和ransack,对active_admin:resource的页面调度错误

  13. 13

    Ruby on Rails,用户模型和Active Admin查询

  14. 14

    在 Active Admin 中创建记录时如何修复 RecordNotFound 错误?

  15. 15

    如何在Rails Active Admin中添加Colorpicker?

  16. 16

    在Rails应用中未发现Active Admin Trumbowyg @import错误

  17. 17

    无法登录Active Admin。有什么办法创建管理员用户?

  18. 18

    无法登录Active Admin。有什么方法可以创建管理员用户?

  19. 19

    在Active Admin中创建用户

  20. 20

    Active Admin无法正确解析html

  21. 21

    Rails-4 Devise +无法隐藏编辑和销毁链接

  22. 22

    Rails,Active Admin,设计,路线

  23. 23

    Rails Active Admin更改网址

  24. 24

    如何在Active Admin Rails 4中将列标题添加到默认操作

  25. 25

    在Active Admin Rails中自定义按钮和成功消息

  26. 26

    无法在Vue.js(Ruby on Rails Active Storage)中显示我的ActiveStorage文件

  27. 27

    无法在Active Directory中创建新用户(将Samba4用作DC和AD)

  28. 28

    Ruby On Rails Active Admin has_many 下拉菜单以添加新对象

  29. 29

    Django admin - 管理面板中的表单验证

热门标签

归档