使用一个表单将数据插入多个表中

时间:2013-02-08 06:31:32

标签: ruby-on-rails forms nested-attributes

我是铁杆上的红宝石新手...... 我正在制作一个关于办公空间租金的项目 每个列表都有很多图片 有一个列表和图像表

class Listing < ActiveRecord::Base
 attr_accessible :agent_id, :description, :key_feature, :location_id, :size, :title,    :office_type, :parking_ratio, :floors, :price, :nearest_metro, :distance, :image, :location_title, :display_order, :images_attributes

 has_many:images, :dependent => :destroy
 accepts_nested_attributes_for :image
end



class Image < ActiveRecord::Base
 # attr_accessible :title, :body
 attr_accessible :id, :image_url, :title_image, :listing_id, :created_at, :updated_at
 belongs_to :listing
end

我想为列表制作表单,以便它还要求为该特定列表添加图像。它应该为image_url创建一个空白选项卡并将其小图像上传到右侧。在下面它应该要求添加新图像...单击它会渲染另一个image_url选项卡,依此类推...... 列表应保存在列表中,图像应保存在图片表中,参考列表..请帮助我!!! 我使用以下代码制作了表格: -

<%=f.fields_for :images do |image| %>
 <%= image.label :image %><br />
 <%= image.text_field :image_url %><br /> <br />
 <%= image.hidden_field :listing_id, :value => params[:id] %>
   

它会显示已经手动插入数据库中的图像用于列表,从而在编辑特定列表时显示它们。但是当要求创建新列表时,它从不显示图像标签...所以m无助..我怀疑整个结构可能是错的..请帮帮我!

这是我的列表控制器,用于更新和创建

def create
@listing = Listing.new(params[:listing])


respond_to do |format|
  if @listing.save
    format.html { redirect_to ([:member, @listing]), notice: 'Listing was successfully created.' }
    format.json { render json: @listing, status: :created, location: @listing }
  else
    format.html { render action: "new" }
    format.json { render json: @listing.errors, status: :unprocessable_entity }
  end
end

def update
@listing = Listing.find(params[:id])

respond_to do |format|
  if (@listing.update_attributes(params[:listing]))
    format.html { redirect_to ([:member, @listing]), notice: 'Listing was successfully updated.' }
    format.json { head :no_content }
  else
    format.html { render action: "edit" }
    format.json { render json: @listing.errors, status: :unprocessable_entity }
  end
end

0 个答案:

没有答案