您好我正在学习Ruby On Rails,我有一点错误。
我想在我的图片上添加超链接,当我点击此图片时我想与我的功能'add_to_cart'对话。目前它正在使用 button_add ,但没有使用 link_to 功能。
我的link_to代码:
<%= link_to image_tag(product.image_url, :alt => product.title, :width => 100, :border => 1), :id => product, :action => 'add_to_cart' %>
错误:
Unknown action
The action 'show' could not be found for StoreController
超链接HTML:
<a href="/store/2">
<img width="100" border="1" src="/assets/images/cover_test.jpg" alt="Book 2">
</a>
谢谢你的帮助:)!
------解决方案------
我无法回答我的问题,但我找到了解决方案。我的route.rb配置有问题,它与我的函数索引产生了冲突。
旧的route.rb配置:
match 'store/:id', :to => 'store#add_to_cart'
新路由.rb配置:
match 'store/add_to_cart/:id', :to => 'store#add_to_cart'
这是我的link_to代码:
<%= link_to image_tag(product.image_url, :alt => product.title, :width => 100, :border => 1), {:action => 'add_to_cart', :id => product} %>
感谢@Justin的帮助:)。
答案 0 :(得分:1)
尝试这样的事情?
<%= link_to image_tag(product.image_url, :alt => product.title, :width => 100, :border => 1), {:controller => 'your_controller', :action => 'add_to_cart', :id => product} %>
(未经测试)
答案 1 :(得分:0)
link_to(body, url_options = {}, html_options = {})
# url_options, except :confirm or :method,
# is passed to url_for
第二个参数是关于url选项,第三个参数是关于html选项
学习如何查找api文档,它将避免这种错误
答案 2 :(得分:0)
我找到了解决方案。我的route.rb配置有问题,它与我的函数索引产生了冲突。
旧的route.rb配置:
match 'store/:id', :to => 'store#add_to_cart'
新路由.rb配置:
match 'store/add_to_cart/:id', :to => 'store#add_to_cart'
这是我的link_to代码:
<%= link_to image_tag(product.image_url, :alt => product.title, :width => 100, :border => 1), {:action => 'add_to_cart', :id => product} %>