Ruby on rails 类别(#69942071276340)应为,获取字符串(#8940340)
我正在尝试为我的rails应用程序提交一个表单,但我在标题中遇到了错误,我不完全确定如何修复它。类别是我的外键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:"
= 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