小编tet*_*rto的帖子

Rails 4个字符串复选框永远不会返回一个空数组

我有一个字符串数组,这是多选复选框的结果,当复选框中没有选项时,数组不会改变,结果是最后一个数组保存!当复选框没有选择值时,我想显示类似""的内容.

     <%= f.label :disposizione_campionamento,"Disposizione" %>
     Random <%= f.check_box :disposizione_campionamento, { :multiple => true },                   
                                                                    "Random", nil %>
     Sistematica <%= f.check_box :disposizione_campionamento,{ :multiple => true },  
                                                               "Sistematica", nil %>
     Stratificata <%= f.check_box :disposizione_campionamento,{ :multiple => true },  
                                                          "Stratificata",nil %><br/>
Run Code Online (Sandbox Code Playgroud)

在模型中

     serialize :disposizione_campionamento, Array
Run Code Online (Sandbox Code Playgroud)

如果我检查Random,Sistematica和Stratificata,结果是"Random,Sistematica,Stratificata",但是如果我修改数组,取消选中所有三个值,结果就是"Random,Sistematica,Stratificata"

当我提交表格时,我在控制器中有这个:

          def create
             modulo2 = Modulo2.find(params[:modulo2_id])
             @variabili = modulo2.variabilis.create(params[:id])
               respond_to do |format|
                 if @variabili.save
                 format.html { redirect_to(modulo2_variabilis_path, :notice =>  
                                                              'Modifica effettuata') }
           format.xml  { render :xml => @variabili, :status => :created, :location => 
                                                     [@variabili.modulo2, @variabili] }
                 else …
Run Code Online (Sandbox Code Playgroud)

arrays string checkbox ruby-on-rails

2
推荐指数
1
解决办法
1172
查看次数

Ruby on Rails在两个#{string}之间添加了新行

我有一个名为模型的文本属性:settore_scientifico_progetto和三个字符串属性:macrocat:cat:microcat

class Modulo1 < ActiveRecord::Base
  before_create :set_settore_scientifico_progetto
  before_update :update_settore_scientifico_progetto

  private      
  def set_settore_scientifico_progetto
    self.settore_scientifico_progetto = "#{macrocat}\n#{cat}\n#{microcat}" 
  end

  def update_settore_scientifico_progetto
    self.settore_scientifico_progetto = "#{macrocat}\n#{cat}\n#{microcat}"
  end
Run Code Online (Sandbox Code Playgroud)

我想在输入的内容前加一行,\n但是我发布的代码给了我输出 macrocat cat microcat

我希望如下:

macrocat

的Microcat

输出显示在show.html.erb

<div class="form-field">  
  <h3>Settore scientifico:</h3>
  <p><%= @modulo1.settore_scientifico_progetto %></p>
</div>
Run Code Online (Sandbox Code Playgroud)

string ruby-on-rails add line between

0
推荐指数
1
解决办法
3445
查看次数

标签 统计

ruby-on-rails ×2

string ×2

add ×1

arrays ×1

between ×1

checkbox ×1

line ×1