Rails关联的基本问题如下表:
关系定义为has_many并属于:
型号:
shop.rb
class Shop < ApplicationRecord
has_many :products
end
产品rb型
class Product < ApplicationRecord
self.primary_key = "id"
belongs_to :shop
end
控制器:
shops\u控制器。rb型
def show
@shop = Shop.find(params[:id])
end
products_controller.rb
def show
@product = Product.find(params[:id])
end
在商店视图中,我设法参考并显示每个商店的所有产品,没有问题:
<%= @shop.name %>
<%= @shop.network %>
<% @shop.products.each do |product| %>
<%= product.title %>
<% end %>
但另一方面,在产品视图中,我无法从Shop表中显示网络信息:
<%= @product.title %>
<%= @product.shop.network %>
这将返回以下错误:
undefined method `network' for nil:NilClass
正如用户jith所指出的-设置是正确的并且有效的。问题是找不到一个特定的shop_id。
因此,在处理关联时,请确保所有id都在另一个表中。
非常感谢。
我正在学习Ruby,我有一个无法理解的bug。我有一个方法,它接受一个字符串(行)数组,并删除所有行,直到包含模式的某一行。该方法如下所示: 这工作正常,生成的字符串(行)正确显示在我正在生成的网页上。 此外,我想删除该模式后面的所有非空行。我修改了方法如下: 令人惊讶的是(至少对我来说)这不起作用。在生成的网页上,我看到的不是内容,而是错误消息:Liquid error:nil类的未定义方法“[
我想用ruby制作一个康威的生活游戏版本。我创建了一个网格类,其中@play\u area作为实例变量。然而,当我运行代码时,@play\u area在经过两次求值后显示为nil(当在行中求值时,如果@play\u area[x\u mod][y\u mod].alive)。为什么会这样? 编辑 以下是初始化函数: 以下是发生错误的函数: 对@play_area中每个单元格的检查显示每个单元格都正
我用最新的Mac OS版本M1在MacBook Air上运行可可豆。我的问题是:当我运行时,我会得到以下输出(我会删除一点,因为其他方式会很长): nil的未定义方法“map”:NilClass 完全错误: LoadError-dlopen(/Library/Ruby/Gems/2.6.0/Gems/ffi-1.15.0/lib/ffi_c.bundle,9):未找到合适的图像。确实找到了:/Li
我有一个非常基本的应用程序,由商店和属于商店的产品组成。我从产品表单中很好地提取了store ID,但每次尝试在产品视图中显示store中的属性时,都会出现未定义的方法错误。 products\u控制器。rb型 product.rb 产品表单(_form.html.erb) store.rb 以及有问题的产品视图(nil: NilClass的未定义方法“名称”): 使用Rails控制台查找属于我引
我如何着手解决这个问题?
Good day我不确定发生了什么我怀疑eclipse,但在UserDetailsServiceImpl中它是定义的,因为我实现了spring的UserDetails服务,下面是我的代码 这是让人头痛的一行“UserDetails UserDetails=userDetailsService.loadUserByUsername(username)”提前感谢您