【发布时间】:2015-01-29 03:36:05
【问题描述】:
我是 ruby on rails 的新手。我正在做一个项目,但遇到了一个表单问题。我正在使用设计进行身份验证。我有一个具有管理员和用户角色的用户类。设计为用户生成的添加/更新方法工作正常。当我尝试为管理员创建编辑页面时,我遇到了“没有路由匹配 [PATCH]”错误。这是我正在使用的表格
<h4>Update Profile</h4>
<%= form_for @user, :url => {:controller => "admin", :action => "update" } do |f| %>
<%= hidden_field_tag(:id, @user.id) %>
<table>
<tr>
<td>First Name</td>
<td><%= f.text_field :first_name , :class => "form-control"%></td>
</tr>
<tr>
<td>Last Name</td>
<td><%= f.text_field :last_name , :class => "form-control"%></td>
</tr>
<tr>
<td>Email</td>
<td><%= f.text_field :email , :class => "form-control"%></td>
</tr>
<tr>
<td></td>
<td><%= f.submit "Update", :class => "btn btn-md btn-success pull-right" %></td>
</tr>
</table>
这是我的控制器方法
def edit
end
def update
@user = User.find(params[:id])
if request.post?
if(@user.update_attributes(params[:first_name, :last_name, :email] ))
redirect_to :action => "admin_portal"
else
render :action => "edit"
end
end
end
我也有路线
get 'admin/update'
get 'admin/edit'
谁能建议我如何解决这个问题。
【问题讨论】:
标签: ruby-on-rails ruby devise