1

是否可以在 Rails 中创建一个调用 jQuery 函数的方法?

我有两个模型@product 和@photo,照片嵌套在产品内部。我正在使用这个 JQuery 插件来处理照片上传,因为它给了我一个很好的预览。

问题是这个插件提供了一个“开始”按钮。单击后,它会在创建产品之前开始上传照片。所以我无法将照片连接到产品。我正在考虑删除“开始”按钮,只是在产品的创建操作中调用该函数。

这甚至可能吗?

这甚至是个好主意吗?

  def create
  @product = current_user.products.create(params[:product])
  @photo = Photo.new(params[:photo])
    respond_to do |format|
      if @product.save
        format.html {
          render :json => [@photo.to_jq_image].to_json,
          :content_type => 'text/html',
          :layout => false
        }
        format.json { render json: {files: [@photo.to_jq_image]}, status: :created, location: @photo }
      else
        format.html { render action: "new" }
        format.json { render json: @photo.errors, status: :unprocessable_entity }
      end
    end
  end
4

1 回答 1

0

建立一个关联,以便Product has_many :photosPhotobelongs_to :product`。然后在不提供产品 ID 的情况下在上传时创建照片。

当产品将accepts_nested_attributes_for :photo并且您将照片添加为fields_for不是单独的表单时,则在保存产品时所有分配都可以。

参考
http://weblog.rubyonrails.org/2009/1/26/nested-model-forms/
http://railscasts.com/episodes/196-nested-model-form-part-1

于 2013-07-13T13:37:33.690 回答