0
在Ruby Rails中,我想顯示一個文本框,您可以在其中輸入一個值,並在其旁邊有一個按鈕,根據您輸入的文本框執行搜索。我的代碼: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]} %>
但是,無論什麼鍵入到文本框中,它從來沒有放置在params哈希表,我結束了沒有傳遞給控制器。
這裏是控制器的代碼:
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值永遠不會與該關鍵字關聯。
沒有骰子 - 同樣的問題,控制器沒有看到該參數散列標籤。通過將它傳遞給一個局部變量進行確認,該變量報告內容爲零。我是否需要通過移動到新頁面來註冊文本框的內容,然後才能使用它? – user2062016 2013-02-11 17:02:00
你在哪裏試圖使用'params [:user_search_id]'?它應該在控制器的帖子中,動作搜索。請在你的問題中包括控制器。此外,您應該能夠在網址中查看搜索。 – gabrielhilal 2013-02-11 17:08:27
使用user_search_id允許用戶通過密鑰進行搜索。通過文字工作,我只是不能在文本框中得到什麼。附上我的原始帖子和控制器代碼。 – user2062016 2013-02-11 18:05:11