为了使我的应用程序更加干净,我决定创建一个导入控制器和一个views文件夹,而不是在我的用户控制器中创建import.html.erb
视图和导入方法。
我的目标是制作网址:http://10.0.0.7/accounts/1/users/import
然而,正如人们可能认为的那样,这是指向show页面并且认为import是用户id。如何创建路由,以便它不认为单词import实际上是用户ID?
错误页面中显示的参数:{"account_id"=>"1", "id"=>"import"}
在我的路线文件中,我有这条路线负责
resources :accounts do
resources :users do collection { post :import, :controller => "imports", :action => "users" } end
end
我也试过这条路。
resources :accounts do
post :import, controller: 'imports', action: 'users'
end
答案 0 :(得分:0)
我在这里看到一些问题。
首先,List<object> listObjects= new JavaScriptSerializer().Deserialize<List<object>>(json)
为零。这可能是因为它是部分的,你需要将变量传入部分。
@accounts
然后在partial中使用变量<%= render partial: 'admin_sidebar', accounts: @accounts %>
。另外,为什么网址中有accounts
?你的基本路由应该做得很好。
我建议的路线如下:
users
这表示 - 如果对网址post 'account_users/:id', to: 'imports#users', as 'account_users'
的帖子请求发送给/account_users/#
控制器并使用imports
方法。