加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Rails 4中通过AngularJS将回形针附件保存到D

发布时间:2020-12-17 02:06:58 所属栏目:百科 来源:网络整理
导读:我正试图通过Rails4中的AngularJS将照片保存到DB中.我使用paperclip gem进行附件设置 class User ActiveRecord::Base devise :database_authenticatable,:registerable,:recoverable,:rememberable,:trackable,:validatable has_attached_file :photo,:style
我正试图通过Rails4中的AngularJS将照片保存到DB中.我使用paperclip gem进行附件设置

class User < ActiveRecord::Base
  devise :database_authenticatable,:registerable,:recoverable,:rememberable,:trackable,:validatable

  has_attached_file :photo,:styles => {:thumb => "100x100>"}
end

这是我的表格:

<div ng-controller="RegistrationsController">
  <form ng-submit="saveUser()" name="signUpForm" novalidate>
    <input type="text" class="form-control" ng-model="user.email" ng-class="{submitted: submitted}" required />
    <input type="file" ng-model="user.photo" />
  </form>
</div>

这是我的angularJS控制器.在saveUser()函数中,它将触发POST请求.我试图输出$scope.user.photo的值,但根据浏览器控制台日志它是未定义的.

myApp.controller "RegistrationsController",($scope,$location,$http,$modal)->

  $scope.saveUser = () ->
    console.log $scope.user.photo
    $scope.submitted = true
    if $scope.signUpForm.$valid
        $http(
            url: "/api/users"
            method: "POST"
            data: $scope.user
        ).success((data) ->
            $scope.user = {}

            $location.path "/"
            return
        ).error (response) ->
            console.log(response)
            return

        return

我不知道如何通过Rails中的AngularJS Paperclip保存/上传单张照片.

以及如何保存价值.

这是create方法的控制器:

class Api::V1::UsersController < ApplicationController
  def create
    @user = User.new(trusted_params)

    if @user.save
      UserMailer.welcome_email(@user).deliver!
      render json: @user
    else
      render json: {
        message: 'Validation failed',errors: @user.errors.full_messages
      },status: 422
    end
  end

  private

    def trusted_params
      params.require(:user).permit(:first_name,:last_name,:email,:password,:photo)
    end
end

任何想法将不胜感激.谢谢!

解决方法

有angular-file-upload提供程序,将$upload注入你的控制器并使用ng-file-select指令,一切都在 https://github.com/danialfarid/angular-file-upload上

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读