【发布时间】:2015-10-17 14:08:54
【问题描述】:
我有一个模特“帖子”和一个模特“照片”。模型帖子具有从照片中的嵌套形式,以上传具有关联的图像。上传工作正常,但每次我去编辑帖子时,我都会为每张上传的图片添加一个新输入,并为上传一张新图片添加一个输入。我只想输入上传新文件并隐藏或不加载其他文件。
这是我的代码:
<%= f.fields_for :photos do |photo| %>
<%= photo.file_field :image, class: "form-control" %>
<% end %>
控制器:
module Admin
class SeminovosController < SuperAdminController
before_action :set_seminovo, only: [:show, :edit, :update, :destroy]
# GET /seminovos
# GET /seminovos.json
def index
@seminovos = Seminovo.all
@seminovo = Seminovo.new
@seminovo.photos.build
#expires_in 3.hours, :public => true, 'max-stale' => 0
end
# GET /seminovos/1
# GET /seminovos/1.json
def show
end
# GET /seminovos/new
def new
@seminovo = Seminovo.new
@seminovo.photos.build
@seminovo.photos
end
# GET /seminovos/1/edit
def edit
@seminovo.photos.build
@seminovo.photos
end
# POST /seminovos
# POST /seminovos.json
def create
#@seminovo = Seminovo.new(seminovo_params)
respond_to do |format|
@seminovo = Seminovo.new(seminovo_params)
@seminovo.save
format.html { redirect_to @seminovo }
format.js
# if @seminovo.save
# format.html { redirect_to @seminovo, notice: 'Seminovo was successfully created.' }
# format.json { render :show, status: :created, location: @seminovo }
# else
# format.html { render :new }
# format.json { render json: @seminovo.errors, status: :unprocessable_entity }
# end
end
end
# PATCH/PUT /seminovos/1
# PATCH/PUT /seminovos/1.json
def update
respond_to do |format|
if @seminovo.update(seminovo_params)
format.html { redirect_to @seminovo, notice: 'Seminovo was successfully updated.' }
format.json { render :show, status: :ok, location: @seminovo }
else
format.html { render :edit }
format.json { render json: @seminovo.errors, status: :unprocessable_entity }
end
end
end
# DELETE /seminovos/1
# DELETE /seminovos/1.json
def destroy
@seminovo.destroy
respond_to do |format|
format.html { redirect_to seminovos_url, notice: 'Seminovo was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_seminovo
@seminovo = Seminovo.friendly.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def seminovo_params
params.require(:seminovo).permit(:name, :price, :marca_id, :tipo_id, :ano_modelo,
:portas, :km_rodados, :combustivel, :placa, :cor, :desc,
:video, :destaque, :photo_id, :slug,
photos_attributes: [ :id, :image, :image_uid, :image_name, :desc,
:seminovos_id, :_destroy ])
end
end
end
【问题讨论】:
-
你能显示你周围的代码吗?你是在遍历所有照片然后调用每张照片上显示的代码吗?
-
你能分享控制器的def编辑吗?我们可能还需要查看更多表单。
-
添加控制器
标签: ruby-on-rails ruby ruby-on-rails-4 nested-forms