Closed bigbenli closed 10 years ago
能把你的路由配置贴出来看看吗?
Program::Application.routes.draw do mount Resque::Server, :at => "/resque"
scope "(:locale)" do devise_for :admin_users, :class_name => "SuperAdmin::User", :path => "/super_admin" devise_for :users, :class_name => "Customer::User",:path => '/users', :path_names => { :sign_in => "login", :sign_out => "log_out" } root :to => 'home#index'
namespace :customer do
resources :abilities
resources :permissions
resources :roles
resources :companies
resources :user_profiles do
get 'edit_password', :on => :collection
put 'update_password', :on => :member
end
end
namespace :commodity do
resources :brands
resources :categories
resources :attribute_sets
resources :products
resources :specifications
end
end
namespace :kindeditor do
post "/upload" => "assets#create"
get "/filemanager" => "assets#list"
end
@bigbenli rails_kindeditor会自动添加路由的,不知道你为什么要在路由配置里面再次加入?而且你的代码似乎没有贴完整。
namespace :kindeditor do
post "/upload" => "assets#create"
get "/filemanager" => "assets#list"
end
另外rails_kindeditor的路由配置不需要多语言支持,它仅仅是完成上传操作,普通用户不会看到这个路径,也不会直接访问这个路径,所以把上面这段代码放在语言配置里面没有必要。你把这段代码删掉后再试一下。
@bigbenli 我也遇到这样的问题,你最后是怎么解决的
No route matches [POST] "/zh-CNkindeditor/upload"
@Macrow , @yeyong14 本来我也是没有手动把路由添加上去的, 就是因为出现了no route match, 所以才自己手动添加上去的. 到最后...没解决, 反正就是locale后面不会自动加上 /
@bigbenli @Macrow 这个的路由应该在哪里修改,我把scope(:locale)
去掉了,还是这样
@bigbenli @yeyong14
rails_kindeditor提供的路由本身是在gem里面提供的,这些路由是通过Rails的Engine机制加载到你的App里面的,所以,你根本不需要在你的路由里面加入rails_kindeditor的路由,他会自动加入。
关于诊断路由,你们试一下rake routes
,看看你们的路由配置是否有问题,可以贴出来分析一下。
@bigbenli @Macrow
new_center GET (/:locale)/centers/new(.:format) centers#new
edit_center GET (/:locale)/centers/:id/edit(.:format) centers#edit
center GET (/:locale)/centers/:id(.:format) centers#show
PUT (/:locale)/centers/:id(.:format) centers#update
DELETE (/:locale)/centers/:id(.:format) centers#destroy
contacts GET (/:locale)/contacts(.:format) contacts#index
POST (/:locale)/contacts(.:format) contacts#create
new_contact GET (/:locale)/contacts/new(.:format) contacts#new
edit_contact GET (/:locale)/contacts/:id/edit(.:format) contacts#edit
contact GET (/:locale)/contacts/:id(.:format) contacts#show
PUT (/:locale)/contacts/:id(.:format) contacts#update
DELETE (/:locale)/contacts/:id(.:format) contacts#destroy
search (/:locale)/search(.:format) products#search
error (/:locale)/error(.:format) home#error
root /(:locale)(.:format) home#index
china_region_fu_fetch_options GET /china_region_fu/fetch_options(.:format) #<Proc:0x9dba390@/home/york/.rvm/gems/ruby-2.0.0-p247/gems/actionpack-3.2.13/lib/action_controller/metal.rb:245>
kindeditor_upload POST /kindeditor/upload(.:format) kindeditor/assets#create
kindeditor_filemanager GET /kindeditor/filemanager(.:format) kindeditor/assets#list
Routes for RailsAdmin::Engine:
dashboard GET / rails_admin/main#dashboard
index GET|POST /:model_name(.:format) rails_admin/main#index
new GET|POST /:model_name/new(.:format) rails_admin/main#new
export GET|POST /:model_name/export(.:format) rails_admin/main#export
bulk_delete POST|DELETE /:model_name/bulk_delete(.:format) rails_admin/main#bulk_dele
我试着另外新建了一个项目,好像不需要修改rails的route就可以直接用。这个是怎么回事!
从你的路由诊断来看,应该没什么问题,只是把rails_admin的路由挂载到根目录有点奇怪。
不知你的view里面有什么问题,如果不涉及项目保密问题,可否把项目传到github,可以详细看看。
@Macrow 项目地址 去掉多语言环境,点击上传图片,就在显示一个首页的框架,在最底下有一行字
{"localUrl"=>"C:\\fakepath\\20111027155421609.jpg", "imgFile"=>#<ActionDispatch::Http::UploadedFile:0x9b3c550 @original_filename="20111027155421609.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"imgFile\"; filename=\"20111027155421609.jpg\"\r\nContent-Type: image/jpeg\r\n", @tempfile=#<Tempfile:/tmp/RackMultipart20140108-16384-qnhitn>>, "locale"=>"zh-CNkindeditor/upload", "dir"=>"image", "controller"=>"home", "action"=>"index"}
看到了,我具体去看看。
@Macrow 是哪里出了问题。我真不知问题出在哪,这个路由能不能在自己定义的。还有,这个要怎么集成到rails_admin中
@yeyong14 @bigbenli
确实是rails_kindeditor代码存在bug,没有考虑到默认root_path相关问题,我已在v0.4.5的版本中进行了修正。
请使用新版本。
上传本地图片时出现了这个...
No route matches [POST] "/cnkindeditor/upload"
<%= form_for @product..... %> <%= f.kindeditor :description, :editor_id => 'my_editor' %> <% end %>
环境 rails 3.2.12, mongoid, carrierwave 0.6.2, carrierwave-mongoid, i18n
正常应该是/cn/kindeditor/upload, 现在post的是 /cnkindeditor/upload. 直接把 /cn 粘在一起了.