gpt4 book ai didi

ruby-on-rails - 如何在 Ruby on Rails 中传递 Controller 参数

转载 作者:行者123 更新时间:2023-12-02 08:25:18 25 4
gpt4 key购买 nike

当我写一条消息并按下发送选项时,我想将 student_idcoach_idmessage 存储到数据库中。 student_idcoach_id 正在保存,但 message 字段未保存。它在数据库中显示为空。我该如何解决这个问题?

感谢任何帮助。

Controller 文件:

class CourseQueriesController <ApplicationController
def index
@course_query = CourseQuery.new
end

def create
# @course_query = CourseQuery.new(course_query_params)
@course_query = CourseQuery.where(student_id: current_student.id, coach_id: "2", message: params[:message]).first_or_create
if @course_query.save
redirect_to course_queries_path, notice: 'Query was successfully send.'
else
render :new
end
end

private

def set_course_query
@course_query = CourseQuery.find(params[:id])
end

# def course_query_params
# params[:course_query].permit(:message)
# end
end

模型/course_query.rb:

class CourseQuery < ActiveRecord::Base
belongs_to :student
belongs_to :coach
end

查看/course_query/index.html.erb:

<%= simple_form_for (@course_query) do |f| %>
<%= f.button :submit , "Send or press enter"%>
<%= f.input :message %>
<% end %>

数据库/course_queries: enter image description here

最佳答案

您似乎不允许 :course_query

尝试通过以下方式允许您的参数:

 def course_query_params
params.require(:course_query).permit(:message)
end

但是根据您传递参数的第二种方式 (params[:message]),我认为您的参数结构有点不同。所以试试另一个:

 def course_query_params
params.permit(:message)
end

关于ruby-on-rails - 如何在 Ruby on Rails 中传递 Controller 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32761833/

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