簡體   English   中英

從rails的下拉菜單中選擇一項后,如何更新數據庫字段?

[英]How to update database field when an item has been selected from drop down menu in rails?

我是紅寶石新手,我有一個下拉菜單欄,當時我想從下拉菜單欄中選擇一個項目,數據庫表應根據所選項目進行更新。 _applied_candidate.html.erb,這是我的部分頁面

 <p>Current Status: <span class="fontstyle3">
          <% data = CandidateWorkFlow.select(:workflow_step, :next_step).where("step_id = ?", offer_state.current_step) %>            
          <% data.each do | d | %>
            <%= d.workflow_step %>
          <% end %>                    
        </span></p>

        <p>Next Status: <span class="fontstyle3">             
            <% data.each do | d | %>
              <select name="user[role_id]" id="workflow_id">
                <option value="">Please select</option>
                <% d.next_step.split(',').each do | s | %>
                  <% data1 = CandidateWorkFlow.select(:workflow_step).where("step_id = ?",s) %>                   
                   <% data1.each do |l| %>
                      <option value=<% s %> > <%= l.workflow_step %> </option>          
                    <% end %>
                  <% end %>
                </select>
            <% end %>  
        </span>
        </p>

<option value=<% s %> > <%= l.workflow_step %> </option>這一部分代碼<%s%>將存儲項目的值,而這一部分代碼<%=l.workflow_step %>是可選列表,當選擇了可選列表中的項目<%=l.workflow_step%>應調用update方法。 AppliedJob.rb這是我的模型

class AppliedJob < ActiveRecord::Base 
end

Applied_jobs這是我的數據庫表| id | user_id | job_posting_id | 狀態| Applied_by_id | current_step | prev_step | 這些是我的字段JobsController.rb,這是我的控制器

class Candidate::JobsController < Candidate::BaseController
end

但是在上面的這段代碼中沒有更新方法

是否可以借助模型方法來更新數據庫值? 請幫我

您可以使用表單和JavaScript大致做到這一點:

   <% data.each do | d | %>
    <%= form_for url: <your-url> do |f| %>
      <select name="user[role_id]" id="workflow_id">
        <option value="">Please select</option>
        <% d.next_step.split(',').each do | s | %>
          <% data1 = CandidateWorkFlow.select(:workflow_step).where("step_id = ?",s) %>                   
           <% data1.each do |l| %>
              <option value=<% s %> > <%= l.workflow_step %> </option>          
            <% end %>
          <% end %>
        </select>
    <% end %>
  <% end %>

在您的JavaScript中:

 $('#workflow_id').change(function(){
   $('#<your-form-id>').submit();
 });

在此之前,您應該制作表單並選擇具有相應的ID(因為這是在循環內,因此對所有表單都重復相同的ID,然后選擇輸入)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM