我有一个字符串数组,这是多选复选框的结果,当复选框中没有选项时,数组不会改变,结果是最后一个数组保存!当复选框没有选择值时,我想显示类似""的内容.
<%= 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) 我有一个名为模型的文本属性: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)