我有一個應用程序,用戶可以在其中輸入項目到數據庫。Ruby on Rails:check_box_tag - 默認如果沒有選擇
有一個選項,他們可以爲他們的項目選擇許多不同的技術。目前,如果用戶沒有選擇至少1種技術,應用程序會標記錯誤。
我想改變這個,所以如果他們不選擇一項技術,它會自動下降爲「其他」。
這裏是我的項目負責人的行動,新的創造:
def new
@project = Project.new
@technol = Technol.new(params[:tech])
@all_technols = Technol.order('tech ASC')
@all_technols = Technol.all
tech_ids = params[:technols][:id].reject(&:blank?) unless params[:technols].nil?
@project_technol = @project.projecttechnols.build
respond_to do |format|
format.html # new.html.erb
format.json { render json: @project }
end
end
def create
@project = Project.new(params[:project])
@project.client = params[:new_client] unless params[:new_client].blank?
@project.industry = params[:new_industry] unless params[:new_industry].blank?
@project.business_div = params[:new_business_div] unless params[:new_business_div].blank?
if !params[:technols].nil?
params[:technols][:id].each do |tech|
if !tech.empty?
@project_technol = @project.projecttechnols.build(:technol_id => tech)
end
end
end
這裏是該技術領域
<ul>
<% @all_technols.each do |technol| %>
<li class="split">
<%= check_box_tag "project[technol_ids][]", technol.id, @project.technols.include?(technol) %>
<%= technol.tech %>
</li>
<% end %>
</ul>
技術ID,在 「其它」 的新觀點技術表格是「18」。那麼有沒有辦法說,如果沒有選擇技術,那麼:technol_id => ["18"]
。
我還是個新手,所以請在試圖幫助時記住這一點。非常感謝
''完美地工作。謝謝 – Jazz
我只想到一件事:在隱藏輸入的情況下,18個將被添加到所有項目中。也許這不是你想要的。你最好試試第二種解決方案。 – Yanhao
我注意到發佈後。找到了另一個解謝謝你的幫助 – Jazz