Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 类别(#69942071276340)应为,获取字符串(#8940340)_Ruby On Rails_Forms_Slim Lang - Fatal编程技术网

Ruby on rails 类别(#69942071276340)应为,获取字符串(#8940340)

Ruby on rails 类别(#69942071276340)应为,获取字符串(#8940340),ruby-on-rails,forms,slim-lang,Ruby On Rails,Forms,Slim Lang,我正在尝试为我的rails应用程序提交一个表单,但我在标题中遇到了错误,我不完全确定如何修复它。类别是我的外键 = form_for @menu_price do |f| - if @menu_price.errors.any? #error_explanation h2 = "#{pluralize(@menu_price.errors.count, "error")} prohibited this menu_price from being saved:"

我正在尝试为我的rails应用程序提交一个表单,但我在标题中遇到了错误,我不完全确定如何修复它。类别是我的外键

= form_for @menu_price do |f|
  - if @menu_price.errors.any?
    #error_explanation
      h2 = "#{pluralize(@menu_price.errors.count, "error")} prohibited this menu_price from being saved:"
      ul
        - @menu_price.errors.full_messages.each do |message|
          li = message

  .form-group
    = f.label :category
    = f.select :category, options_for_select(@categories.map{ |c| [c.name] })
  .form-group
    = f.label :price
    = f.number_field :price
  .form-group
    = f.label :description
    = f.text_field :description
  .form-group
    = f.label :serves
    = f.text_field :serves

  = f.submit
  = link_to 'Back', menu_prices_path, class:'button'
我的模特看起来像这样

class Category < ActiveRecord::Base
    has_many :menu_prices
    validates :category, :presence => true
end

因为您实际上只从视图中传递category_id(而不是整个
category
对象),而不是

f.label :category

你应该:

f.label :category_id


您还应该确保
category\u id
列出现在
menu\u prices
表中。

因为您实际上只从视图传递category\u id(而不是整个
category
对象),而不是

f.label :category

你应该:

f.label :category_id



您还应该确保
category\u id
列出现在
菜单\u prices
表中。

不确定这是否重要,但我使用的是rails V4.2,我们可以得到完整的回溯吗?您是否尝试从收到的参数加载控制器中的类别?@Nerian我不确定在哪里发布类似“@category=category.find”的内容(menu_price_params[:category])“在你的[可能]菜单上,创建控制器操作不确定这是否重要,但我使用的是rails V4.2,我们可以得到完整的回溯吗?你是否尝试过从收到的参数中加载控制器中的类别?@Nerian我不确定我会在哪里发布类似“@category=category.find(menu price_params)”的内容[:category])”在您的[可能]菜单上创建控制器操作如果这是一个愚蠢的问题,很抱歉,但这不是“添加外键:类别:菜单价格”假设创建该列?@ArkhamRejek不完全正确-您应该有
add\u foreign\u key:menu\u prices,:categories
。因此它应该是add\u column:menu\u prices,:categories或add\u reference?我将schema.rb添加到OP@ArkhamRejek根据文档,
add\u foreign\u key:menu\u prices,:categories
应该可以完成它的工作抱歉,如果这是一个愚蠢的问题,但“添加外键:类别,:菜单\价格”不是吗假设创建该列?@ArkhamRejek不完全正确-您应该有
add\u foreign\u key:menu\u prices,:categories
。因此它应该是add\u column:menu\u prices,:categories或add\u reference?我将schema.rb添加到OP@ArkhamRejek根据文档,
add\u foreign\u key:menu\u prices,:categories
应该可以完成它的工作.
f.label :category_id
f.select :category_id