Routing Rails3自定义路由格式
在routes.rb中,我被迫添加:Routing Rails3自定义路由格式,routing,ruby-on-rails-3,Routing,Ruby On Rails 3,在routes.rb中,我被迫添加: post 'admin/user_update' 要使我的表单标签正常工作: form_tag( { :action => :update_user, :id => @user.id }, :remote => :true ) 现在我得到: Template is missing Missing template admin/update_user with {:handlers=>[:erb, :rjs, :builder, :rhtml,
post 'admin/user_update'
要使我的表单标签正常工作:
form_tag( { :action => :update_user, :id => @user.id }, :remote => :true )
现在我得到:
Template is missing
Missing template admin/update_user with {:handlers=>[:erb, :rjs, :builder,
:rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths
"/rails/test/app/views"
我的模板是update_user.js.erb:
$('#user-edit-<%= @user.id %>').html(" ");
$('#tr-user-edit-<%= @user.id %>').hide();
$(“#用户编辑-”).html(“”);
$(“#tr user edit-”).hide();
如何让路由接受我想要使用js处理请求
如何将js添加到:格式
请不要在回复中使用“资源”一词。我知道这是一个自定义路由。如果我理解正确,这是一个jquery问题(尽管您从未明确提到jquery) 尝试添加:
$(document).ready(function() {
$.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
});
});
添加到application.js文件。您可以添加
匹配“更新用户/:id”=>“管理员更新用户”,:as=>:更新用户,:via=>:put
到你的路线
鉴于此,你可以这样做
form_for(@user, :url => update_user_path(@user.id), :remote => true) do |f|
.
.
.
表单_for(@user,:url=>update_user_path(@user.id),:remote=>true)do | f|
.
.
.
我认为根据请求类型,它应该选择适当的格式文件,否则
你可以在控制器代码之后
def update_user
.
.
.
respond_to do |format|
format.js
end
end
def更新用户
.
.
.
回应待办事项|格式|
format.js
结束
结束