ruby 在rails中创建多态关系和表单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 在rails中创建多态关系和表单相关的知识,希望对你有一定的参考价值。

# Polymorphic Model
class Attachment < ActiveRecord::Base
  belongs_to :attachable, :polymorphic => true
  mount_uploader :image, ImageUploader
end

# Has Many Model
require 'carrierwave/orm/activerecord'
class Exercise < ActiveRecord::Base
  has_many :images , :as=> :attachable, :dependent => :destroy   ,:class_name => "Attachment"
  accepts_nested_attributes_for :images
  mount_uploader :avatar, AvatarUploader
end

# Controller (Exercise)
# Never trust parameters from the scary internet, only allow the white list through.
    def exercise_params
      params.require(:exercise).permit(
          :title,
          :instruction,
          :avatar,
          :images_attributes =>[:image] #nested attributes
      )
    end
    
#Form
<%= form_for(@exercise,:html => {:multipart=>true}) do |f| %>
    <%= f.fields_for :images,Attachment.new do |i| %>
        <%= i.file_field :image %>
    <% end %>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

以上是关于ruby 在rails中创建多态关系和表单的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ActiveRecords 中创建对 Ruby 中对象的引用?

通过单击 Ruby on Rails 中的按钮生成表单

Ruby on Rails:以表单提交数组

如何在 ruby​​ on rails 4 中创建高级搜索

ruby 在Rails助手中创建一个HTML块。

如何使用相同的表单在 ruby​​ on rails 中创建和编辑