Recaptcha в Rails

12
Snapius
На сайте с 29.10.2007
Offline
241
956

Приветствую, подскажите новичку в Rails, есть работающий проект, нужно установить Recaptcha в формах отправки заявок. В интернете много чего есть, но все сводится к bundle install, пытаюсь запустить, но пишет что такой команды нет. Как быть?

Греческая натуральная косметика (https://www.rizescrete.ru)
S1
На сайте с 17.04.2011
Offline
79
#1
Snapius:
Приветствую, подскажите новичку в Rails, есть работающий проект, нужно установить Recaptcha в формах отправки заявок. В интернете много чего есть, но все сводится к bundle install, пытаюсь запустить, но пишет что такой команды нет. Как быть?

bundle install надо запускать из папки проекта. Там, где есть Gemfile. Но просто так команда не сработает. Нужно сначала присоединить gem. Например, вот этот: https://github.com/ambethia/recaptcha. Дальше в коде проекта его нужно использовать в правильных местах.

Но судя по характеру вопроса - Вы с Ruby on Rails никогда не работали. Поэтому боюсь, без программиста Вы не справитесь. Чисто настройкой задачу не решить.

Snapius
На сайте с 29.10.2007
Offline
241
#2
Stan_1:
bundle install надо запускать из папки проекта. Там, где есть Gemfile. Но просто так команда не сработает. Нужно сначала присоединить gem. Например, вот этот: https://github.com/ambethia/recaptcha. Дальше в коде проекта его нужно использовать в правильных местах.

Но судя по характеру вопроса - Вы с Ruby on Rails никогда не работали. Поэтому боюсь, без программиста Вы не справитесь. Чисто настройкой задачу не решить.

Можете скинуть полное описание(пошаговое) как это сделать, боюсь что если где то будет упущен какой то момент я встану :(.

[Удален]
#3

Recaptcha добавить в ваш HTML несложно:

<%= recaptcha_tags %>

, но логику работы вам придется дописывать руками, например:

def create

@article = Article.find(params[:article_id])
if verify_recaptcha
@comment = @article.comments.create(comment_params)
redirect_to article_path(@article)
else
render text: 'Recaptcha error'
end
end
Snapius
На сайте с 29.10.2007
Offline
241
#4

Добавил в гем - gem "recaptcha", require: "recaptcha/rails"

Пытаюсь запустить - bundle install из папки где находится гем, но пишет - -bash: bundle: command not found

Как быть?

S1
На сайте с 17.04.2011
Offline
79
#5
Snapius:
Добавил в гем - gem "recaptcha", require: "recaptcha/rails"
Пытаюсь запустить - bundle install из папки где находится гем, но пишет - -bash: bundle: command not found
Как быть?

Нужно быть в папке проекта Rails. Где есть папки:

- app

- bin

- config

- db

-....

И в этой же папке должен быть Gemfile.

Попробуйте.

Snapius
На сайте с 29.10.2007
Offline
241
#6
Stan_1:
Нужно быть в папке проекта Rails. Где есть папки:
- app
- bin
- config
- db
-....
И в этой же папке должен быть Gemfile.

Попробуйте.

Так и есть, но не срабатывает :(

S1
На сайте с 17.04.2011
Offline
79
#7
Snapius:
Так и есть, но не срабатывает :(

Значит, у Вас нестандартная настройка проекта. Это очень странно. Обычно руби мега формализован. Вам нужен разработчик. Нужно смотреть прежде всего, как вообще настроен проект. Дистанционно это сложно. :(

Snapius
На сайте с 29.10.2007
Offline
241
#8
Stan_1:
Значит, у Вас нестандартная настройка проекта. Это очень странно. Обычно руби мега формализован. Вам нужен разработчик. Нужно смотреть прежде всего, как вообще настроен проект. Дистанционно это сложно. :(

Если просто добавить гем и сделать рестарт, то вываливается ошибка :(

S1
На сайте с 17.04.2011
Offline
79
#9
Snapius:
Если просто добавить гем и сделать рестарт, то вываливается ошибка :(

Верно, потому что гем не прилинкован к проекту. В правильных настройках проекта делается так:

1. В файл Gemfile добавляется строка gem 'recaptcha'. Причем нужно проверить, чтобы он не попал в раздел development и test

2. Запустить bundle install из корневой папки проекта. Эта команда - инсталлирует гем в окружение проекта

3. Добавить код рекапчи в правильное место (как писали выше)

Все. В Вашем случае пропущен второй шаг, видимо из-за отсутствия bundle. Возможно - он инсталлирован под другой учеткой. А может, его снес разработчик. Причин может быть много. Но без шага 2 - ничего не будет работать.

Snapius
На сайте с 29.10.2007
Offline
241
#10
Stan_1:
Верно, потому что гем не прилинкован к проекту. В правильных настройках проекта делается так:
1. В файл Gemfile добавляется строка gem 'recaptcha'. Причем нужно проверить, чтобы он не попал в раздел development и test
2. Запустить bundle install из корневой папки проекта. Эта команда - инсталлирует гем в окружение проекта
3. Добавить код рекапчи в правильное место (как писали выше)

Все. В Вашем случае пропущен второй шаг, видимо из-за отсутствия bundle. Возможно - он инсталлирован под другой учеткой. А может, его снес разработчик. Причин может быть много. Но без шага 2 - ничего не будет работать.

Наверно я понял почему не могу запустить bundle, я под рутом делаю, а проект висит на другом пользователе.

Я нашел что еще нужно добавить в контролер информацию, так? Если да, то подскажите пожалуйста, информации много, но все они под другие разделы и как то страшновато трогать контролеры :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий