我是新手:PP,我有一个函数调用“搜索”,这个函数收到2个值,主题和q,用户选择类型并在字段框中插入关键字后,用户点击在提交。 我可以在函数搜索中看到这些值,但不能在索引中看到,所以我使用的是全局变量:PP
但是丑陋,有更好的方法吗?
welcome_controller.rb
class WelcomeController < ApplicationController
before_filter :require_user
def index
@theme = $a
@value = $b
end
def search
$a = params[:theme]
$b = params[:q]
redirect_to :root
end
end
视图/欢迎/ _search.html.erb
<%= form_tag(:controller => 'welcome', :action => 'search', :method => 'get') do %>
<div style="background:#fafafa; color:#222; padding:10px;">
<h4>Pesquisa Avançada</h4>
<table>
<tr>
<td>
<input type="radio" name="radiog_dark" class="css-checkbox">
<% [ 'Analista', 'Estagiário' ].each do |theme| %>
<%= radio_button_tag 'theme', theme, @theme == theme, :class => "radio"%>
<%= theme %><br>
<% end %>
</input>
<td><%= text_field_tag :q, nil, :placeholder => 'Palavra-chave' %>
<%= submit_tag("Pesquisar") %></td>
</tr>
</table>
<% end %>
<% if @theme == "Analista"%>
<%= render "search_systems_analyst" %>
<% elsif @theme == "Estagiário" %>
<%= render "search_intern" %>
<% end %>
Ps:对不起我的英文
答案 0 :(得分:3)
试试这个
redirect_to :root_path(theme: params[:theme], q: params[:q])
答案 1 :(得分:1)
了Lorena,
你必须像redinJ那样传递redirect_to。
redirect_to :root_path, theme: params[:theme], q: params[:q]
您正在向您的GET请求发送操作搜索“params [:theme]和params [:q]”,但您没有将这些参数发送到您的索引操作