gpt4 book ai didi

ruby-on-rails - 如何使用 simple_form 解决 undefined method `to_key' 错误

转载 作者:行者123 更新时间:2023-12-04 07:30:54 24 4
gpt4 key购买 nike

尝试使用 simple_form 时,我遇到了以下错误: enter image description here

undefined method `to_key' for #<CourseQuery::ActiveRecord_Relation:0x007f070689bae8>

这是相关的 Controller :

class Students::DashboardController < ApplicationController
before_filter :authenticate_student!

def index
@course_query=CourseQuery.all
end

def show
end

def course_queries_details
@course_queries = current_student.course_queries
@course_query = CourseQuery.new
end
end

View ,views/students/dashboard/course_queries_details.html.erb:

<%= simple_form_for (@course_query) do |m| %>
<div class="modal-body">
<%= m.input :message ,label: false %>
</div>
<% end %>

配置/路由.rb:

namespace :students do
root to: "dashboard#show"
get 'course-queries-details', to: 'dashboard#course_queries_details'
resources :students
end

谁能告诉我如何解决这个错误?

最佳答案

当使用 ActiveRecord 时,all 方法返回所谓的关系,即多个数据库记录的集合。

当使用 simple_form_for 构建表单时,您只能传入单个数据库记录,而不是整个关系。 simple_form 对传递给 simple_form_for 的任何内容调用 to_key,因为它假定它是单个记录。

我不确定你的意图,但你可以试试这个解决方案,它构建了一个表单,用户可以在其中进行全新的类(class)查询:

<%= simple_form_for(CourseQuery.new) do |m| %>
<div class="modal-body">
<%= m.input :message ,label: false %>
</div>
<% end %>

关于ruby-on-rails - 如何使用 simple_form 解决 undefined method `to_key' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32887627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com