Ruby on Rails, `link_to` с` image_tag` говорят с контроллером - PullRequest
0 голосов
/ 02 февраля 2012

Привет, я сейчас изучаю Ruby On Rails и у меня есть небольшая ошибка.

Я хочу добавить гиперссылку на свое изображение, и когда я нажимаю на это изображение , я хочу поговорить с моей функцией add_to_cart . Сейчас он работает с button_add , но не с функцией 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'

Новая конфигурация route.rb:

match 'store/add_to_cart/:id', :to => 'store#add_to_cart'

Вот мой код ссылки:

<%= link_to image_tag(product.image_url, :alt => product.title, :width => 100, :border => 1), {:action => 'add_to_cart', :id => product} %>

Спасибо @Justin за помощь:).

Ответы [ 3 ]

1 голос
/ 02 февраля 2012

попробовать что-то вроде этого?

<%= link_to image_tag(product.image_url, :alt => product.title, :width => 100, :border => 1), {:controller => 'your_controller', :action => 'add_to_cart', :id => product} %>

(не тестировалось)

0 голосов
/ 03 февраля 2012

Я нашел решение.У меня была проблема с моей конфигурацией route.rb, она создавала конфликты с моим индексом функции.

Старая конфигурация route.rb:

match 'store/:id', :to => 'store#add_to_cart'

Новая конфигурация route.rb:

match 'store/add_to_cart/:id', :to => 'store#add_to_cart'

Вот мой код ссылки:

<%= link_to image_tag(product.image_url, :alt => product.title, :width => 100, :border => 1), {:action => 'add_to_cart', :id => product} %>
0 голосов
/ 02 февраля 2012
link_to(body, url_options = {}, html_options = {})
# url_options, except :confirm or :method,
# is passed to url_for

второй параметр - о параметрах URL, а третий - о параметрах html

научитесь искать документ API, и он избежит ошибок такого рода

...