2016-05-10 3 views
1

Я использую button_to внутри презентатора. Это прекрасно работает. Однако, если я создаю блок я получаю ошибкуbutton_to block in presenter

undefined method `stringify_keys' 

Я интересно, если это вообще возможно использовать button_to блок за пределами представления файла.

# Inside my presenter class 

# The line below causes the error 
button_to 'Big Button', '/', {} do 
    link_to('Home', '/', { }) 
end.html_safe 

Как это исправить? Я пропустил что-то довольно очевидное?

+0

Почему вы действительно хотите показать ссылку на кнопку? – RAJ

ответ

2

Я не знаю, почему вы хотите, чтобы показать ссылку внутри кнопки, но вы можете попробовать это:

button_to '/', { ... } do 
    'Big Button' 
    link_to('Home', '/', { ... }) 
end.html_safe 

Вам не нужно включать метку в качестве первого аргумента вашего button_to блок.

+0

Спасибо. Что делать, если у меня есть параметры, которые я хочу передать методу 'button_to'? Наверное, я передаю их внутри элементов в блоке? – jason328

+0

Можете ли вы сказать мне свое намерение функционально? В 'button_to', а также' link_to' вы перенаправляете пользователя на '/'. Почему это гнездование? – RAJ

+0

Забудьте, почему у меня есть 'link_to' внутри' button_to'. 'link_to' может быть' content_tag'. Это был упрощенный пример. – jason328