我为我的图书模型创建了一个分类模型,并且已经与
相关联li
和
has_many :books
我还可以在我的_form.html.haml中添加一个简单的表单下拉列表,然后保存带有类别关联的书籍条目;每当我尝试在index.html.haml文件中显示所有类别时,我都会收到一个Action Controller:异常捕获错误:
"未定义的局部变量或方法`分类'对于#<#:0x39040f8>"
这是我使用的代码:
belongs_to :category
修改
我还在books_controller.rb中添加了一个索引过滤器
- Category.all.each do |category|
=link_to category.name, books_path(category: categroy.name)
没有link_to代码,当我尝试在URL中手动输入索引过滤器时,索引过滤器会起作用:
def index
if params[:category].blank?
@book = Book.all.order("created_at DESC")
else
@category_id = Category.find_by(name: params[:category]).id
@book =Book.where(category_id: @category_id).order("created_at DESC")
end
end
看起来类别模型有效,但我不确定为什么它不允许我调用category.name
我刚刚在2周前开始使用rails,非常感谢社区提供的任何帮助。如果我需要提供更多信息,请告诉我。谢谢!
答案 0 :(得分:2)
你写了categroy
,但变量的名称是category
:)
应该是
=link_to category.name, books_path(category: category.name)