0
當選中的值爲nil時,我遇到了option_from_collection_for_select的一些問題。rails 3 option_from_collection_for_select與選定的空值
我有用戶模式:
class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation, :remember_me, :username, :locale
end
和預約之一:
class Reservation < ActiveRecord::Base
belongs_to :user
end
在預約添加/編輯頁面有一個選擇與用戶goiing要與保留相關聯:
<%= select_tag('user_id',
options_from_collection_for_select(@users, :id, :username, @reservation.user.id)) %>
這工作在編輯頁面時@ reservation.user.id不是零,但我得到在添加頁面中沒有錯誤。 只是現在我檢查@ reservation.user.id是否爲零,我把選擇的值取決於是否爲零;這工作,但我不喜歡這個解決方案。
我該如何解決這個問題?
謝謝RadBrad的,我一直在尋找這種解決方案(我是新來的Ruby/RoR的)檢查是否'@reservation .user.id'在'options_from_collection_for_select'中爲null。這解決了我的問題:'@ reservation.user.id.nil? ? 「」:@ reservation.user.id',無需添加別的東西 –
在我上面的評論中有一個錯字;正確的方法是: '@ reservation.user.nil? ? 「」:@ reservation.user.id' –