在验证失败时填写rails中的字段

时间:2013-12-10 11:53:07

标签: ruby-on-rails ruby forms

当我提交表单时,我的验证工作正常并显示错误。

但是我的表单元素没有填写我无法编辑主题的发布数据。

这是我的代码:

控制器:

  def new
    @row = MyModel.new
  end

  def create
    @row = MyModel.new params[:post].permit!
    if @row.save
      redirect_to @row
    else
      render :new
      #render :action => 'new'
    end
  end

new.html.erb:

<%=form_for :post,url: sms_webservices_path(@row) do |f| %>
   <%=f.label :name,t('name'),class: 'f1' %>
   <%=f.text_field :name,class: 'form-control' %>
   <%=f.submit 'add' %>
<% end %>

模型验证:

validates :name, presence: true, uniqueness: true

由于

1 个答案:

答案 0 :(得分:1)

这是因为您正在使用form_for :post,当您使用@post时,它会向Rails说明检查@row实例变量。

只需将您的代码更改为此代码即可:

<%= form_for @row, url: sms_webservices_path(@row) do |f| %>