表单更新重定向到错误的路由

时间:2015-08-06 11:19:44

标签: ruby-on-rails ruby-on-rails-4

我已经创建了一个名为admin的控制器,我用这个来控制登录等...我已经定义了更新'和'编辑'在控制器中,但是当我保存时,它会重定向并显示错误。有人能帮忙吗?整个上午都在寻找,无法解决这个问题!似乎是在添加一个。保存时不是斜线。我确实有补丁路线,但无法解决为什么它无法正常工作。

错误

No route matches [PATCH] "/admin.5"

admin_controller

def edit
 @admin = Admin.find(params[:id])
end

def update
  @admin = Admin.find(params[:id])
  if @admin.update_attributes(admin_params)
  flash[:success] = "Admin profile updated"
  redirect_to '/administration'
  else
    flash[:error] = "Unable to update account\n#{admin.errors.messages}"
    render 'edit'
  end
end

edit.html.erb

        <%= form_for @admin do |f| %>

          <form class="m-t" role="form" action="#">
            <div class="form-group">
                      <%= f.label :name %>
                      <%= f.text_field :name, class: 'form-control' %>
                    </div>
                    <div class="form-group">
                      <%= f.label :email %>
                      <%= f.text_field :email, class: 'form-control' %>
                    </div>
                    <div class="form-group">
                      <%= f.label :user_name %>
                      <%= f.text_field :user_name, class: 'form-control' %>
                    </div>
                    <div class="form-group">
                      <%= f.label :password %>
                      <%= f.password_field :password, class: 'form-control' %>
                    </div>
                    <div class="form-group">
                      <%= f.label :password_confirmation %>
                      <%= f.password_field :password_confirmation, class: 'form-control' %>
                    </div>
                    <div class="form-group">
                      <%= f.label :avatar %>
                      <%= f.file_field :avatar, class: 'form-control' %>
                    </div>
                    <div class="form-group">
                      <%= f.submit "Submit", class: "btn btn-primary block full-width m-b" %>
                    </div>
                </form>

            <% end %>

3 个答案:

答案 0 :(得分:0)

这个问题只是一条自定义路线,阻止了资源:管理的工作

答案 1 :(得分:0)

在您的控制器更新/管理中:

List<JAXBElementProvider> list = new ArrayList<JAXBElementProvider>();
list.add(new JAXBElementProvider());
WebClient client = WebClient.create( baseUrl, list).path("GetOpenPOs");

答案 2 :(得分:0)

旁注: 在您的edit.html.erb表单中,将f.text_field:email发送到f.email_field:email。在移动设备上,这将使键盘提供&#39; @&#39;底部的符号表示快捷方式。