• Где можно найти готовое решения отправки сообщения на почту?

    1. Сначала данные отправляются через форму на сервер методом POST в виде параметров внутри params[:contacts].
    2. В контроллере обрабатываешь полученные данные и отправляешь сообщение при помощи ActionMailer / gem mail, предварительно наладив настройки SMTP. Провайдерами SMTP могут быть Gmail, Mailgun, ...
    Ответ написан
    Комментировать
  • Как изменить URL в Rails проекте?

    @SunRaDev
    anonim
    Все пути в рейлс приложении прописываются в файле config\routes.rb
    Ответ написан
    5 комментариев
  • Тестирование nested ресурсов?

    @raventid
    Насколько я понимаю у вас есть контроллер AnswersController? И он управляет ресурсом ответы. Если так, то да, пишите тесты контроллера на него в файлик answers_controller_spec.rb, например создание с помощью аякса можно протестировать так

    answers_controller_spec.rb

    describe 'POST #create' do
        sign_in_user
    
        context 'with valid attributes' do
          it 'saves answer in database' do
            expect { post :create, question_id: question, answer: attributes_for(:answer), format: :js }.to change(question.answers, :count).by(1)
          end
    
          it 'assigns answer with current user' do
            post :create, question_id: question, answer: attributes_for(:answer), format: :js
            assigning_answer = assigns(:answer)
            expect(assigning_answer.user_id).to eq subject.current_user.id
          end
    
          it 'render create template' do
            post :create, question_id: question, answer: attributes_for(:answer), format: :js
            expect(response).to render_template :create
          end
        end


    И не забудьте уделить особое внимание акцептанс спекам и тестам модели. Тесты контроллера не самое главное :)
    Ответ написан
    4 комментария