0

空白を削除するベストプラクティスはselectオプションですか?選択オプションから空白を削除するにはどうすればよいですか?

enter image description here

フォーム

<%= f.select :challenge_id, options_for_select(@current_user_challenges.collect { |current| [current.full_challenge, current.id] }) %> 

あなたはpresent?チェックして値を選択することができます

#My Attempts: 
@current_user_challenges = current_user.challenges.order(:created_at).where("user_id > 0") 
@current_user_challenges = current_user.challenges.order(:created_at).reject!(&:blank?) 
@current_user_challenges = current_user.challenges.order(:created_at).reject { |id| id.blank? } 
@current_user_challenges = current_user.challenges.order(:created_at).select!{|val| !val.empty?} 

答えて

2

challenges_controller

あなたは `N + 1つの 'クエリを減らすのに役立つincludes``]
+0

はありがとう、それは 'includes'なしで動作します –

+0

@current_user_challenges = current_user.includes(:challenges).challenges.order(:created_at).select{ |challenge| challenge.full_challenge.present? } 

また、私はあなたがモデルレベルでpresence validationを追加することができます提案します

class Challenge validates :full_challenge, presence: true end 

関連する問題