gpt4 book ai didi

ruby-on-rails - Rails 搜索表单提交显示方法

转载 作者:行者123 更新时间:2023-12-03 17:33:56 25 4
gpt4 key购买 nike

我正在尝试在 Rails View 中设置一个表单,以将 id 提交回 Controller 中的 show 方法。我的表单使用自动完成来设置隐藏的 id 字段:

<%= form_tag students_path, id: 'search_student_name', method: :get do %>
<%= text_field_tag :search_name, '', size: 30 %>
<%= hidden_field_tag :id %>
<%= submit_tag "Search", name: nil %>
<% end %>

我正在使用脚手架生成的标准 Controller “显示”方法:

# GET /students/1
# GET /students/1.json
def show
@student = student_scope.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.json { render json: @student }
end
end

我将不胜感激关于表单 url/post 方法/附加路由的组合以使其工作的任何建议。这是您通常在 Rails 中执行此操作的方式,还是我应该设置一个新的 Controller 方法来处理提交的表单?

提前致谢

最佳答案

因为它不完全是一个 Restful 节目,所以你应该创建一个新的 Action ,搜索。

#routes.rb
post 'search' => 'students#search'

#student_controller.rb
def search
@student = Student.find_by_name params[:search_name]
render action: 'show'
end

据我所知,表单不需要发送 :id。

<%= form_tag search_path, method: :get do %>
<%= input_tag :search_name, type: 'text' %>
<%= submit_tag "Search" %>
<% end %>

关于ruby-on-rails - Rails 搜索表单提交显示方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459668/

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