0

我的 Rails 应用程序不会向有错误的字段添加任何类。找不到wihat是问题所在。

在模型中得到这个:

validates_presence_of :name
validates_uniqueness_of :name
validates_presence_of :phone

任何想法从哪里开始寻找解决方案?

这是不生成所需样式类的视图 erb 文件:

<%= form_for :company, :url => {:action => 'create_lead'}, :html => {:class => "form-horizontal"} do |f|  %>

<div class="">

    <div class="span2"> 
    <%= f.label :csdd_nr, "CSDD numurs" %>
    <%= f.text_field :csdd_nr, {:class => "input-small"} %>
    </div>

    <div class="span4">
    <%= f.label :name, "Nosaukums" %>
    <%= f.text_field :name %>
    </div>

    <div class="span6">
    <%= f.label :ap_veh_count, "Auto skaits" %>
    <%= f.text_field :ap_veh_count, {:class => "input-small"} %><br /><br />
    </div>

    <div class="span6">
    <%= f.label :office_adress_street, "Faktiskā adrese" %>
    <%= f.text_field(:office_adress_street, {:placeholder => 'Iela', :class => "input-medium"}) %> <%= f.text_field(:office_adress_city, {:placeholder => 'Pilsēta', :class => "input-small"}) %> <%= f.text_field(:office_adress_postcode, {:placeholder => 'Pasta indekss', :class => "input-small"}) %>
    </div>

    <div class="span4">
    <%= f.label :web, "Mājaslapa" %>
    <%= f.text_field :web  %><br /><br />
    </div>

    <div class="span4">
    <%= f.label :phone, "Telefona numurs" %>
    <%= f.text_field :phone  %>
    </div>

    <div class="span4">
    <%= f.label :email, "E-pasts" %>
    <%= f.text_field :email  %>
    </div>

    <div class="span4">
    <%= f.label :company_field, "Uzņēmuma nodarbošanās" %>
    <%= f.text_field :company_field %><br /><br />
    </div>

    <%= f.hidden_field(:company_status, :value => "3") %>

    <div class="span12">
    <br /><br />
    <%= submit_tag("Saglabāt", :class => 'btn btn-primary') %>
    <%= link_to "Atcelt", {:action => 'list_leads'}, :class => 'btn' %>
    </div>  def new_lead
    @company = Company.new
end

def create_lead
    @company = Company.new(params[:company])

    if @company.save
        flash[:success] = "Uzņēmums saglabāts"
        redirect_to(:action => 'new_lead')
    else
        flash[:alert] = "!!! Uzņēmums nav saglabāts"
        redirect_to(:action => 'new_lead')
    end
end
</div>

<% end %>

好的,这是将数据保存到数据库的控制器:

def new_lead
    @company = Company.new
end

def create_lead
    @company = Company.new(params[:company])

    if @company.save
        flash[:success] = "Uzņēmums saglabāts"
        redirect_to(:action => 'new_lead')
    else
        flash[:alert] = "!!! Uzņēmums nav saglabāts"
        redirect_to(:action => 'new_lead')
    end
end
4

1 回答 1

1

发生这种情况是因为当出现验证错误时,您正在重定向而不是渲染。您的控制器应如下所示:

def create_lead
  @company = Company.new(params[:company])

  if @company.save
    flash[:success] = "Uzņēmums saglabāts"
    redirect_to(:action => 'new_lead')
  else
    flash[:alert] = "!!! Uzņēmums nav saglabāts"
    render(:action => 'new_lead')
  end
end
于 2012-04-22T21:50:26.130 回答