我一直在努力让它工作 3 天。我似乎无法理解为什么它不起作用。当用户单击视图上的 link_to 标记时,它应该在控制器中执行 csv 函数。Instread 我得到一个例外。
以下是相关文件
控制器文件:(users_controller.rb)
def csv
end
(路线.rb):
resources :users
查看:(show.html.erb)
<%= link_to 'Click HERE to open file', @user.image.url %><br/><br/><br/>
<%= label_tag(:q, "Parse CSV File:") %><br/>
<%= link_to 'CSV', csv_user_path %>
<% end %>
当我点击上面的“link_to 'CSV'.. 标签时。它给了我这个例外:
NameError in Users#show
Showing /Users/AM/Documents/RailsWS/bmc_mam/app/views/users/show.html.erb where line #47 raised:
Extracted source (around line #47):
44:
45: <%= label_tag(:q, "Parse CSV File:") %><br/>
46:
47: <%= link_to 'CSV', csv_user_path %>
48:
49:
50:
出现异常时浏览器URL如下:
http://localhost:3000/users/28
它显然可以使用该功能,但 URL 映射/路由显然搞砸了。我想知道如何解决它.....在过去的几天里,我尝试了几种方法,似乎都没有奏效。这是我最接近使它像...一样工作的方法
在此先感谢您的帮助。
在@Gavin Miller 在下面发布答案后:
我将我的 routes.rb 文件更改为:
get 'csv' => 'users#csv'
resources :users
现在我得到了这个例外:
NameError in Users#show
Showing /Users/AM/Documents/RailsWS/bmc_mam/app/views/users/show.html.erb where line #47 raised:
undefined local variable or method `csv_user_path' for #<# <Class:0x00000104e7f6f8>:0x00000103a23c68>
Extracted source (around line #47):
44:
45: <%= label_tag(:q, "Parse CSV File:") %><br/>
46:
47: <%= link_to 'CSV', csv_user_path %>
48:
49:
50: