Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将参数传递给javascript-ajax帖子,以便Rails对其进行解释?_Javascript_Ruby On Rails_Coffeescript - Fatal编程技术网

如何将参数传递给javascript-ajax帖子,以便Rails对其进行解释?

如何将参数传递给javascript-ajax帖子,以便Rails对其进行解释?,javascript,ruby-on-rails,coffeescript,Javascript,Ruby On Rails,Coffeescript,在Rails 3.2应用程序中,我有一个coffeescript函数,其中包括一个帖子,用于创建带有附加文件的资产(使用Carrierwave) 这将生成以下日志: Started POST "/assets" for 127.0.0.1 at 2013-10-05 14:53:57 +0700 Processing by AssetsController#create as JS Parameters: {"remote_file_url"=>"https://the/correct

在Rails 3.2应用程序中,我有一个coffeescript函数,其中包括一个帖子,用于创建带有附加文件的资产(使用Carrierwave)

这将生成以下日志:

Started POST "/assets" for 127.0.0.1 at 2013-10-05 14:53:57 +0700
Processing by AssetsController#create as JS
  Parameters: {"remote_file_url"=>"https://the/correct/path", "parent_id"=>"520"}
在控制器中

@asset = Asset.new(params[:asset])
@asset.save
@asset = Asset.new(params)
@asset.save
我有一些其他方法来创建资产,它们都很好。传入这个ajax调用的变量也是正确的。但是@asset.save由于上载程序中的错误而失败,这意味着未正确设置父\u id

由于所有这些组件都可以通过其他上传路径完美工作,我唯一的结论是jquery ajax调用不正确,我想我没有正确设置参数(我的控制器中的params[:asset]会正确解释上面记录的参数吗?)


如何将参数传递给javascript post,以便Rails能够正确地解释它们?非常感谢您的指导,因为我正在兜圈子

根据您提供的日志,POST调用没有提供称为params[:asset]的东西。那么,在您的控制器中实现这一点是可行的

@asset = Asset.new(params[:asset])
@asset.save
@asset = Asset.new(params)
@asset.save
或者如果这不起作用,你可以试试

@asset = Asset.new(:remote_file_url => params[:remote_file_url], :parent_id => params[:parent_id])
@asset.save
或者另一种解决方案是不更改控制器,而是将html中的表单输入名称更改为
asset[remote\u file\u url]
asset[parent\u id]