Ruby on rails Rails 4验证关联的模型id
假设我有一本模型Ruby on rails Rails 4验证关联的模型id,ruby-on-rails,ruby,activerecord,models,Ruby On Rails,Ruby,Activerecord,Models,假设我有一本模型书 class Books < ActiveRecord::Base belongs_to :library has_many :pages validates :library_id, presence: true end 当我执行类似于book.library的操作时,如何修复我遇到的nil异常,NoMethodError undefined methodlibraryfor nil:NilClass 或者换句话说,我如何确保在将书籍链接到图书馆之前,li
书
class Books < ActiveRecord::Base
belongs_to :library
has_many :pages
validates :library_id, presence: true
end
当我执行类似于book.library
的操作时,如何修复我遇到的nil异常,NoMethodError undefined methodlibrary
for nil:NilClass
或者换句话说,我如何确保在将书籍链接到图书馆之前,
library\u id
不是nil
,并且它存在于数据库中?验证:library\u id,presence:true不应该已经解决了吗?您已经验证了library\u id。这对于书籍来说已经足够了。
你需要做的是确保有书的图书馆不能被删除
以下是一个例子:
def destroy
@library = Library.find params[:id]
if @library.books.blank?
@library.destroy
redirect_to libraries_path
else
redirect_to library_path(@library)
end
end
你已经验证了图书馆id。这足够买书了。
你需要做的是确保有书的图书馆不能被删除
以下是一个例子:
def destroy
@library = Library.find params[:id]
if @library.books.blank?
@library.destroy
redirect_to libraries_path
else
redirect_to library_path(@library)
end
end
你已经验证了图书馆id。这足够买书了。
你需要做的是确保有书的图书馆不能被删除
以下是一个例子:
def destroy
@library = Library.find params[:id]
if @library.books.blank?
@library.destroy
redirect_to libraries_path
else
redirect_to library_path(@library)
end
end
你已经验证了图书馆id。这足够买书了。
你需要做的是确保有书的图书馆不能被删除
以下是一个例子:
def destroy
@library = Library.find params[:id]
if @library.books.blank?
@library.destroy
redirect_to libraries_path
else
redirect_to library_path(@library)
end
end
调用book.library
之前,请检查book.library if book.library
或者在调用Book.library
之前,将依赖销毁添加到Book model具有多个:books,dependent::destroy
,请检查Book.library if Book.library
或者在调用Book.library
之前,将依赖销毁添加到Book model具有多个:books,dependent::destroy
,请检查Book.library if Book.library
或者在调用Book.library
之前,将依赖销毁添加到Book model具有多个:books,dependent::destroy
,请检查Book.library if Book.library
或者将依赖销毁添加到图书模型有很多:图书,依赖::销毁在调用Book.library
之前,您应该检查图书:
book.library if book
在调用book.library
之前,您应该先检查一下这本书:
book.library if book
在调用book.library
之前,您应该先检查一下这本书:
book.library if book
在调用book.library
之前,您应该先检查一下这本书:
book.library if book
太酷了,我甚至不知道你能得到这样的父对象。是的,它应该像你说的那样工作。您可以提供一些代码和带有行号的特定错误消息吗?您也可以使用验证是否存在:library\u id
。我还向库中添加了一个destroy子句:有很多:books,dependent::destroy
太酷了,我甚至不知道你可以得到这样的父对象。是的,它应该像你说的那样工作。您可以提供一些代码和带有行号的特定错误消息吗?您也可以使用验证是否存在:library\u id
。我还向库中添加了一个destroy子句:有很多:books,dependent::destroy
太酷了,我甚至不知道你可以得到这样的父对象。是的,它应该像你说的那样工作。您可以提供一些代码和带有行号的特定错误消息吗?您也可以使用验证是否存在:library\u id
。我还向库中添加了一个destroy子句:有很多:books,dependent::destroy
太酷了,我甚至不知道你可以得到这样的父对象。是的,它应该像你说的那样工作。您可以提供一些代码和带有行号的特定错误消息吗?您也可以使用验证是否存在:library\u id
。我还要向库中添加一个destroy子句:有许多:books,dependent::destroy