Ruby on rails 如何在RubyonRails中存储others选项值并基于所选值下拉所选值

Ruby on rails 如何在RubyonRails中存储others选项值并基于所选值下拉所选值,ruby-on-rails,Ruby On Rails,我是RubyonRails新手,这里我确实有一个下拉选择框 如果我选择其中任何一个选项,它都应该被存储,以防 我选择“其他”意味着应该再出现一个文本框 值应存储在数据库中 EZEU控制器.rb ezetab.rb new.html.erb '选中SelectedOne(this.value);'% 功能检查选择单(val){ 警报(“又来了一个文本框”); var元素=document.getElementById('newtext'); 如果(val==‘其他’) element.style

我是RubyonRails新手,这里我确实有一个下拉选择框 如果我选择其中任何一个选项,它都应该被存储,以防 我选择“其他”意味着应该再出现一个文本框 值应存储在数据库中

EZEU控制器.rb

ezetab.rb

new.html.erb


'选中SelectedOne(this.value);'%
功能检查选择单(val){
警报(“又来了一个文本框”);
var元素=document.getElementById('newtext');
如果(val==‘其他’)
element.style.display='block';
其他的
element.style.display='none';
}
有人能告诉我如何存储下拉列表中选定的一个吗 因为我只能存储其他操作文本字段 所选下拉列表我无法选择,请让我知道,因为我 我从昨天开始完成这一个,提前谢谢


你试过这样吗

ezetabs_controller.rb

def create

    if params[:ezetab][:others] != nil
      eze_params = ezetab_params.merge!(city: params[:ezetab][:others])
    else
      eze_params = ezetab_params
    end

    @ezetab = Ezetab.new(eze_params)
    if @ezetab.save
        redirect_to @ezetab
    else
        render 'new'
    end
end



private

def ezetab_params
   ep = params.require(:ezetab).permit(:name, :email, :phonenumber, :organization, :city)                  
end
validates :city, presence: true
<div class="form-group clearfix">
                <div class="col-sm-2" id="mainone">
                    <%#= form.text_field :city, placeholder: "CITY", class: 'form-control required' %>
                    <%= form.select :city, options_for_select([['DELHI'],['GURGAON'],['FARIDABAD'],['GHAZIABAD'],['NOIDA'],['MUMBAI'],['THANE'], ['BANGALORE'],['OTHERS']]), {include_blank: 'CITY*'}, class: 'form-control required', name: 'city', :onchange => 'Checkselectedone(this.value);' %>
                        <% if @ezetab.errors[:city].present? %>
                            <span class="error_msg"><%= @ezetab.errors[:city][0]%></span>
                        <% end %>
                </div>
            </div>
            <div class="form-group clearfix">
                <div class="col-sm-2">
                    <%#= form.text_field :others, "", id: 'newtext',style: 'display:none;' %>
                    <%= text_field_tag :others, "", class: 'form-control', id: 'newtext', style: 'display:none;' %>

                </div>
            </div>

<script type="text/javascript">
function Checkselectedone(val){
    alert("one more text box is coming");
 var element=document.getElementById('newtext');
 if(val=='OTHERS')
   element.style.display='block';
 else  
   element.style.display='none';
}
ezetabs_controller.rb

def create

    if params[:ezetab][:others] != nil
      eze_params = ezetab_params.merge!(city: params[:ezetab][:others])
    else
      eze_params = ezetab_params
    end

    @ezetab = Ezetab.new(eze_params)
    if @ezetab.save
        redirect_to @ezetab
    else
        render 'new'
    end
end



private

def ezetab_params
   ep = params.require(:ezetab).permit(:name, :email, :phonenumber, :organization, :city)                  
end