Ruby on rails 无法获取添加的方法并将_链接到工作(轨道3)
看到了一些参考资料,但它的旧Rails 2解决方案。在理解Rails 3的一些术语方面有足够的困难 我在控制器中添加了一个方法“dndl”。 我在索引中添加了指向的链接。 我一次又一次地试着设置路线Ruby on rails 无法获取添加的方法并将_链接到工作(轨道3),ruby-on-rails,methods,path,routes,link-to,Ruby On Rails,Methods,Path,Routes,Link To,看到了一些参考资料,但它的旧Rails 2解决方案。在理解Rails 3的一些术语方面有足够的困难 我在控制器中添加了一个方法“dndl”。 我在索引中添加了指向的链接。 我一次又一次地试着设置路线 Controller: def dnld blah blah end 索引: <td><%= link_to 'Show', stock %></td> <td><%= link_to 'Edit', edit_stock_path(sto
Controller:
def dnld
blah blah
end
索引:
<td><%= link_to 'Show', stock %></td>
<td><%= link_to 'Edit', edit_stock_path(stock) %></td>
<td><%= link_to 'Dnld', dnld, {:action => 'dnld'} %></td>
<td><%= link_to 'Destroy', stock, :confirm => 'Are you sure?', :method => :delete %>
我试过:
<td><%= link_to 'Dnld', stock, {:action => 'dnld'} %></td>
# End up on the stock show page with dnld not executed to my knowledge
<td><%= link_to 'Dnld', , {:action => 'dnld'} %></td>
# Produces an error
<td><%= link_to 'Dnld', dnld_stock_path(stock), {:action => 'dnld'} %></td>
# It doesn't know what dnld_stock_path is, yet I don't understand why it DOES know what edit_stock_path is and cannot find documentation to explain this.
'dnld'}%>
#据我所知,最终出现在股票展示页面,dnld未执行
'dnld'}%>
#产生错误
'dnld'}%>
#它不知道什么是dnld_stock_路径,但我不明白为什么它知道什么是edit_stock_路径,并且找不到解释这一点的文档。
谢谢你的帮助 试试看
resources :stocks do
collection do
put :dnld, :as => dnld
end
end
然后
如果您在routes.rb中提供收藏,例如:
resources :stocks do
collection do
put 'dnld'
end
end
resources :stocks do
member do
put 'dnld'
end
end
然后命名的路径将是“dnld\u stocks\u path”。您不需要指定操作
<td><%= link_to 'Dnld', dnld_stocks_path %></td>
然后,命名路径将为“dnld_stock_path(stock)”
更多信息我还需要上面kishi的答案。我用了会员电话。但是我认为:as=>dnld在上面的kishi中是必要的。在指向的链接中,我使用了:这使得URL*/stocks/2/dnld成为我所需要的。从“放”到“得到”的转变也治愈了我。我不完全明白为什么(noob),但我正在得到我想要的结果。别忘了tor“rake routes”。谢谢Kishi。给低于分数的家伙增加分数,但如果没有你的:as=>dnld片段,我就做不到。
resources :stocks do
member do
put 'dnld'
end
end
<td><%= link_to 'Dnld', dnld_stock_path(stock) %></td>