0
我希望將選項值從用戶名更改爲html中選項值的用戶標識。rails選項值爲id
例如:
<option value="John">John</option>
<option value="Jim">Jim</option>
<option value="Kelly">Kelly</option>
<option value="Monica">Monica</option>
<option value="Ralp">Ralp</option>
這是我的HTML的輸出,我想是用戶ID值,如:
<option value="1">John</option>
<option value="2">Jim</option>
<option value="3">Kelly</option>
<option value="4">Monica</option>
<option value="5">Ralp</option>
我也想它是動態的,所以當越來越多的用戶來我不必手動輸入他們的名字。
我對目前的軌道是這樣的:
<%= form_tag '/login', method: 'post' do %>
Name:
<br/>
<%= select_tag :user_id, options_for_select(@users) %>
<br/>
<br/>
<%= submit_tag 'Login' %>
<% end %>
我的控制器,例如:
def login_user
user = User.find_by_name(params[:user_id])
if user
session[:user_id] = user.id
redirect_to user_path(user)
return
end
flash[:error] = 'Sorry that user not in the system.'
redirect_to root_path
end
可能有人請幫我指出了正確的方向。先謝謝你。
這就是我要找的!謝謝!然而,它給了我以下錯誤:「約翰」的未定義方法'名稱':字符串。你碰巧知道如何解決這個問題? – Mukul215
修改我的答案。我假設@users是用戶對象列表 – usha
謝謝您的回答。非常感謝。 – Mukul215