Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
Ruby on rails 在Rails中,I';“我收到一个错误”;应为模型(#-12345),获取字符串(#-12345)";_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 在Rails中,I';“我收到一个错误”;应为模型(#-12345),获取字符串(#-12345)";

Ruby on rails 在Rails中,I';“我收到一个错误”;应为模型(#-12345),获取字符串(#-12345)";,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我意识到这有一个存在的问题,但没有一个答案对我有效。特别麻烦的是,我可以看出我正在通过create方法(或update,但我现在正在尝试使用create)传入正确的参数。从Rails 4内置服务器显示的调试/错误页面: "url"=>"", "country"=>"1", "charge"=>"0", 我的模型配置为:模型属于国家/地区,国家/地区有许多模型。我不明白为什么,如果我传递的是格式正确的数据,并且我很清楚地访问了国家/地区模型(我的下拉列表通过下面的代码填充了适当

我意识到这有一个存在的问题,但没有一个答案对我有效。特别麻烦的是,我可以看出我正在通过
create
方法(或update,但我现在正在尝试使用create)传入正确的参数。从Rails 4内置服务器显示的调试/错误页面:

"url"=>"",
"country"=>"1",
"charge"=>"0",
我的模型配置为:模型属于国家/地区,国家/地区有许多模型。我不明白为什么,如果我传递的是格式正确的数据,并且我很清楚地访问了国家/地区模型(我的下拉列表通过下面的代码填充了适当的名称),那么它就不起作用了。非常感谢您的帮助。我被难住了,谷歌帮不了什么忙

<%= f.select :country, Country.all.collect { |c| [c.id, c.id.to_i] }, class: 'form-control' %>

还请注意,我尝试了许多变化,包括但不限于:

<%= f.select :country, Country.all.collect { |c| [c.country_long_name, c.id] }, class: 'form-control' %>
<%= f.select :country, Country.all.collect { |c| [c.id, c.id] }, class: 'form-control' %>
<%= f.collection_select :country, Country.all.collect, c.country_long_name, c.id %>

你所有的建议都错了。按如下方式操作:

<%= f.collection_select :country_id, Country.all, c.id, c.country_long_name, :prompt => true %>
true%>
另外,允许控制器中的国家/地区id作为 参数许可证(:国家/地区id)


阅读以了解更多信息。

对于任何偶然发现这一点的人:

我至少有几个问题

首先,我没有使用collection select(顺便说一句,它应该和下拉表单组一起使用)。我所联系的其他相关问题实际上也提到了这一点

其次,我的代码上粘贴了binding.pry作为故障排除工具。它是一个调试工具,允许您通过中断代码执行(很像大多数IDE中的断点)逐步完成代码、检查变量等。然而,由于未知的原因,添加binding.pry破坏了我的代码。我会将params.require(:blah).permit(:foo,:bar)的结果传递给Burp.new()方法。令人窒息的是新打嗝(参数要求…)。也就是说,我将运行Burp.new(params.req…),它将抛出一个所有值都设置为nil的对象(我不知道它为什么会这样做,但我一注释完binding.pry代码,一切都正常了。)/


如果您找到了此页面,并且像我一样被卡住了,我希望这会有所帮助!

其他相关问题:如我所说,我已经通过了这些问题,但没有任何效果:(您可以发布准确的错误及其引用的行吗?您可以共享更多代码吗?您的模型、控制器、视图、错误发生的位置和时间?您从哪里得到错误?您可以共享您的开发控制台日志………除了上述答案外,在您的controller@AdnanDevops谢谢提及.我忘了提到它。你能编辑我的答案来添加它吗..?完成更改