如何在Rails控制器中使用参数

钱德拉·谢卡(Chandra Shekhar)

以下是我传递给Rails控制器的参数

Parameters: {"file"=>#<ActionDispatch::Http::UploadedFile:0x007f6244989100 @tempfile=#<Tempfile:/tmp/RackMultipart20151109-3635-1y6e4wr.mp3>,
@original_filename="07 - Barfi - Ala Barfi! (Version 2) [DM].mp3",
@content_type="audio/mp3", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"07 - Barfi - Ala Barfi! (Version 2) [DM].mp3\"\r\nContent-Type: audio/mp3\r\n">, 
"event_id"=>"19"}

然后我将其存储在我的数据库中

  def create
    event = Event.find(params[:event_id])
    playlist = event.playlists.create(file: playlist_params[:file], name: playlist_params[:@original_filename])
    render json: event
  end

  private

  def playlist_params
    params.permit(:file, :@original_filename)
  end

以下是我的播放列表模型架构

  create_table "playlists", force: :cascade do |t|
    t.string   "file",       limit: 255
    t.integer  "event_id",   limit: 4
    t.datetime "created_at",             null: false
    t.datetime "updated_at",             null: false
    t.string   "name",       limit: 255
  end

但我的姓名栏显示为空。

下面是上面的服务器端代码

Started POST "/events/19/playlists" for 127.0.0.1 at 2015-11-09 18:06:17 +0530

Processing by Api::V1::PlaylistsController#create as JSON

Parameters: {"file"=>#<ActionDispatch::Http::UploadedFile:0x007f6244989100 @tempfile=#<Tempfile:/tmp/RackMultipart20151109-3635-1y6e4wr.mp3>, @original_filename="07 - Barfi - Ala Barfi! (Version 2) [DM].mp3", @content_type="audio/mp3", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"07 - Barfi - Ala Barfi! (Version 2) [DM].mp3\"\r\nContent-Type: audio/mp3\r\n">, "event_id"=>"19"}

Can't verify CSRF token authenticity

Event Load (0.2ms)  SELECT  `events`.* FROM `events` WHERE `events`.`id` = 19 LIMIT 1
Unpermitted parameters: format, event_id
Unpermitted parameters: format, event_id

(0.2ms)  BEGIN
SQL (0.4ms)  INSERT INTO `playlists` (`file`, `event_id`, `created_at`, `updated_at`) VALUES ('07_-_Barfi_-_Ala_Barfi___Version_2___DM_.mp3', 19, '2015-11-09 12:36:17', '2015-11-09 12:36:17')
   (55.3ms)  COMMIT

Completed 200 OK in 161ms (Views: 1.4ms | ActiveRecord: 60.3ms)

我不知道为什么在上面服务器端代码的播放列表表的名称列中未插入sql。

凯尔

在参数中传递的file属性实际上具有所需的大多数数据。@original_filename是要上传的文件的实例变量。

您可以尝试使用控制器的strong_parameters部分,然后尝试将其修改为如下所示:

def playlist_params
  params.permit(file: [])
end

然后,当您保存文件时,可以将代码更改为如下所示:

def create
  event = Event.find(params[:event_id])
  file = playlist_params[:file]
  playlist = event.playlists.create(file: file, name: file.original_filename)
  render json: event
end

您可能会说,您实际上并不需要playlist_params,您可以像这样访问params [:file]:

def create
  event = Event.find(params[:event_id])
  file = params[:file]
  playlist = event.playlists.create(file: file, name: file.original_filename)
  render json: event
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Sinatra控制器中使用参数

来自分类Dev

如何在Rails控制器中使用闭包?

来自分类Dev

如何在服务器参数中使用域控制器

来自分类Dev

如何在Ruby on Rails中传递控制器参数

来自分类Dev

如何在ASP.NET MVC中使用routeValue参数调用控制器操作

来自分类Dev

Symfony-如何在控制器中使用参数生成URL

来自分类Dev

如何在控制器上的format.js之后使用实例变量或参数-Rails

来自分类Dev

如何在Rails中使用Ajax从控制器传递数据以进行查看

来自分类Dev

如何在Rails 3.2中的视图和控制器中使用下划线方法?

来自分类Dev

如何在Rails中使用可重用的控制器方法?

来自分类Dev

如何在Rails 4中使用按钮调用控制器方法

来自分类Dev

如何在Rails 4的其他模型的控制器中使用模型的范围

来自分类Dev

如何在Rails中使用lib中的控制器方法?

来自分类Dev

如何在Grails控制器中使用路径变量?

来自分类Dev

如何在异步控制器中使用Dapper?

来自分类Dev

如何在控制器中使用方法“ truncate”?

来自分类Dev

如何在指令中使用/同步控制器数据?

来自分类Dev

如何在Laravel 5.2控制器中使用会话

来自分类Dev

CakePHP 3.8:如何在控制器中使用uasort()

来自分类Dev

如何在控制器中使用PostSharp LoggingAspect?

来自分类Dev

Symfony如何在树枝中使用控制器功能?

来自分类Dev

如何在控制器中使用该角度工厂?

来自分类Dev

如何在主布局中使用控制器方法?

来自分类Dev

如何在Laravel控制器中使用“ where”

来自分类Dev

我将如何在控制器中使用-> findTaggedServiceIds?

来自分类Dev

如何在HTML的Js控制器中使用变量

来自分类Dev

如何在指令模板中使用控制器$ scope

来自分类Dev

如何在angular js控制器中使用alasql?

来自分类Dev

如何在Laravel 5.2控制器中使用会话

Related 相关文章

  1. 1

    如何在Sinatra控制器中使用参数

  2. 2

    如何在Rails控制器中使用闭包?

  3. 3

    如何在服务器参数中使用域控制器

  4. 4

    如何在Ruby on Rails中传递控制器参数

  5. 5

    如何在ASP.NET MVC中使用routeValue参数调用控制器操作

  6. 6

    Symfony-如何在控制器中使用参数生成URL

  7. 7

    如何在控制器上的format.js之后使用实例变量或参数-Rails

  8. 8

    如何在Rails中使用Ajax从控制器传递数据以进行查看

  9. 9

    如何在Rails 3.2中的视图和控制器中使用下划线方法?

  10. 10

    如何在Rails中使用可重用的控制器方法?

  11. 11

    如何在Rails 4中使用按钮调用控制器方法

  12. 12

    如何在Rails 4的其他模型的控制器中使用模型的范围

  13. 13

    如何在Rails中使用lib中的控制器方法?

  14. 14

    如何在Grails控制器中使用路径变量?

  15. 15

    如何在异步控制器中使用Dapper?

  16. 16

    如何在控制器中使用方法“ truncate”?

  17. 17

    如何在指令中使用/同步控制器数据?

  18. 18

    如何在Laravel 5.2控制器中使用会话

  19. 19

    CakePHP 3.8:如何在控制器中使用uasort()

  20. 20

    如何在控制器中使用PostSharp LoggingAspect?

  21. 21

    Symfony如何在树枝中使用控制器功能?

  22. 22

    如何在控制器中使用该角度工厂?

  23. 23

    如何在主布局中使用控制器方法?

  24. 24

    如何在Laravel控制器中使用“ where”

  25. 25

    我将如何在控制器中使用-> findTaggedServiceIds?

  26. 26

    如何在HTML的Js控制器中使用变量

  27. 27

    如何在指令模板中使用控制器$ scope

  28. 28

    如何在angular js控制器中使用alasql?

  29. 29

    如何在Laravel 5.2控制器中使用会话

热门标签

归档