Kin*_*hah 5 ruby ruby-on-rails ruby-on-rails-4
我遇到了未定义方法`to_key'的问题
这是我的books_controller.rb
class BooksController < ApplicationController
def index
@books = Book.where(user_id: current_user.id)
end
end
Run Code Online (Sandbox Code Playgroud)
和我的索引页面如下.
index.html.erb
<div>
<%= form_for @books do |f| %>
...
...
<% end %>
</div>
Run Code Online (Sandbox Code Playgroud)
现在,当我要访问索引页面时,我得到了如下错误.
undefined method `to_key' for #<Book::ActiveRecord_Relation:0x007fb709a6a8c0>
Run Code Online (Sandbox Code Playgroud)
Rem*_*anu 14
index
通常会返回一个集合.事实上,你的控制器符合.但是,您的视图会尝试为其定义表单.你发现,这不会成功.表单适用于实体,不适用于集合.错误在您的视图中以及您希望如何处理index
.
应该:
class BooksController < ApplicationController
def index
@book = Book.find_by_id(2)
end
Run Code Online (Sandbox Code Playgroud)
要么
def index
@book = Book.new
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15209 次 |
最近记录: |