Rails 请教问题:rails 中如何调用 text_field 的值?

kun · December 28, 2021 · Last by kun replied at December 29, 2021 · 328 hits
  • 文件 index.html.erb
<%= text_field :soujiaocai %>

<td><%= @soujiaocais %></td>

<%= link_to "搜索", tikus_path(:soujiaocai), { :class=>"btn" }%>

如何将 text_field 输入的值传到通过 link_to 传给到 controller 中 文件 tikus_controller.rb

def index
   if current_user.administrator?
     @tikus = Tiku.all
     @sousuo = Tiku.new
   else
     @tikus = Tiku.all
     @sousuo = Tiku.new
   end
   @soujiaocais = params[:soujiaocai]
 end

我想再 index 界面 text_field 输入一个值,点击"搜索"将刷新这个页面并将这个值显示出来 如果将<%= link_to "搜索", tikus_path(:soujiaocai), { :class=>"btn" }%>改成<%= link_to "搜索", tikus_path(:soujiaocai => 10), { :class=>"btn" }%>页面就可以将 10 显示出来,我该怎么才能将 @soujiaocais取到 text_field 中输入的值

你需要将 text_field 放在 form 里,搜索按钮提交这个 form。

<%= form_with url: tikus_path do |form| %>
  <%= form.text_field : soujiaocai %>
  <%= @soujiaocais %>
  <%= form.submit '搜索', class: 'btn' %>
<% end %>
Reply to Rei

感谢您的帮助,现在我又遇到了新的问题,我在提交这个 form 的时候它去调用了 create 函数 而我想调用的是 index,我需要怎么改呢?

Reply to kun

form_with 加个 method: :get

Reply to Rei

感谢大佬的帮助,我成功实现了想要的功能

kun closed this topic. 25 Mar 16:03
You need to Sign in before reply, if you don't have an account, please Sign up first.