在 Ruby Rails 中,我想显示一个文本框,您可以在其中输入值,旁边有一个按钮可以根据您在文本框中键入的内容执行搜索。我的代码:
<%= number_field_tag :user_search_id, params[:user_search_id] %>
<%= button_to 'Search by user id', {:controller=>"posts", :action=>"search", :user_id => params[:user_search_id]} %>
但是,无论在文本框中输入了什么,它都不会放在参数哈希中,我最终什么也没传递给控制器。
这是控制器代码:
def search
@post = Post.find(params[:user_id])
respond_to do |format|
format.html { redirect_to posts_url }
format.json { render json: @post }
end
#redirect_to posts_url
end
注意我试图同时传递:user_id 和:user_search_id,都没有正确传递。但是,如果我传递一个文字(数字 1),它会正确传递,所以看起来 :user_search_id 值永远不会与该键相关联。