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

kun · 2021年12月28日 · 最后由 kun 回复于 2021年12月29日 · 328 次阅读
  • 文件 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 %>
Rei 回复

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

kun 回复

form_with 加个 method: :get

Rei 回复

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

kun 关闭了讨论。 03月25日 16:03
需要 登录 后方可回复, 如果你还没有账号请 注册新账号