Ruby on rails 验证时在rails中填充字段失败

Ruby on rails 验证时在rails中填充字段失败,ruby-on-rails,ruby,forms,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 =>

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

但我的表单元素并没有填充我无法编辑的发布数据

这是我的代码:

控制器:

  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 %>

感谢这是因为您正在使用
form_for:post
,它告诉Rails在使用
@row
时检查
@post
实例变量

只需将您的代码更改为此,它就可以工作:

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

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