Разработка приложений на Ruby on Rails - ответы
Количество вопросов - 231
visit signup_path... "Name", with: "Bart"click_button "Create my account"Для заполнения поля занчением на HTML странице в Capybara используется метод:
describe User do before do @user1 = User.new(name: "User1", email: "user1@example.com") @user2 = User.new(name: "User2", email: "user2@example.com") end subject { @user1 } it { should respond_to(:name) } it { expect(@user2).to respond_to(:email) }endДанный тест проверяет:
a = "The quick brown fox jumps over the lazy dog".splitputs a.sort.join(" ")В результате будет выведено:
def create respond_to do |format| format.js { code: 404 } format.html { render :404 } endendПри асинхронном запросе данный код возвращает:
gem 'rails', '4.0.2'group :development, :test dogem 'sqlite3', '1.3.8'gem 'rspec-rails', '2.13.1'endgroup :production dogem 'pg', '0.15.1''endgroup :test do gem 'capybara', '2.1.0'endВо время тестирования будут использованы гемы:
require 'spec_helper'describe "Help page" doit "should have the content 'Help'" dovisit '/static_pages/help'expect(page).to have_title("Page help")expect(page).to have_content("Click me to help you")endendпроверяет:
cat = { name: "Barsik", color: "Brown" }cat[:eyes] = "green"cat[:color] = "white"p catВ результате будет выведено:
class User < ActiveRecord::Base validates :text, presence: true, format: { with: /(Ruby on )?Rails/i }endДанный код проверяет:
def index flash[:error] = 'WOO HOO' render 'index'end
<%= form_for(@user) do |f| %> <%= f.label :name %> <%= f.text_field :name %> <%= f.label :age %> <%= f.number_field :age %><%= f.label :email %> <%= f.text_field :email %> <%= f.label :password %> <%= f.password_field :password %> <%= f.label :password_confirmation, "Confirm Password" %> <%= f.password_field :password_confirmation %> <%= f.submit "Save changes" %> <% end %>Какие поля будут автоматически предзаполнены при загрузке страницы?
class AddTitleToBooks < ActiveRecord::Migration def change add_column :books, :title, :string, default: "Unknown book" endendДанный листинг говорит о том, что:
class Table < ActiveRecord::Base ... :roomendВместо многоточия введите метод для связи, который говорит о том, что стол связан с одной комнатой
it "should destroy associated microposts" do microposts = @user.microposts.to_a expect(microposts).to ...endВведите ключевое слово, которое тестирует массив на нулевой размер:
resources :products, only: :new do ... do get 'short' endendВместо многоточия вставьте ключевое слово, чтобы получить такие пути:short_product GET /products/:id/short(.:format) products#shortnew_product GET /products/new(.:format) products#new
def create respond_to do |format| format.js { code: 404 } format.html { render :404 } endendПри синхронном запросе данный код возвращает:
class Relationship < ActiveRecord::Base belongs_to :follower, ... : "User"endВведите ключевое слово, которое указывает на используемую модель:
validates :followed_id, presence: trueКакое ключевое слово указывает на требование обязательного заполнения поля?
class ApplicationController < ActionController::Base protect_from_forgery with: :exception include SessionsHelperendСтрока include SessionsHelper добавляет:
class Table < ActiveRecord::Base ... :roomendВместо многоточия введите метод для связи, который говорит о том, что комната связана со многими столами:
visit signup_path... "Create my account"Для нажатия кнопки на HTML странице в Capybara используется метод:
def index flash[:error] = 'WOO HOO' redirect_to :rootend
order('created_at ...')Ввелите ключевое слово, для указания сортировки по убыванию (в нижнем регистре):
def create @user = User.new(user_params) if @user.save redirect_to @user else render 'new' end end
def index flash.now[:error] = 'WOO HOO' render 'index'end
@note = Note.create("note text")@note.update_attributes(text: "new text")puts @note.textДанный код выведет на экран:
class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :name t.string :email t.string :password t.timestamps end endendКод миграции создаст таблицу с полями:
resources :products, only: :new do ... do get 'short' endendВместо многоточия вставьте ключевое слово, чтобы получить такие пути:short_products GET /products/short(.:format) products#shortnew_product GET /products/new(.:format) products#new
methodName({a1: "a1", a2: "a2"})methodName a1: "a1", a2: "a2"Являются ли данные строки равноценными?
class Room < ActiveRecord::Base has_many :tables, dependent: :destroyendДанный код говорит о том, что:
order('created_at ...')Ввелите ключевое слово, для указания сортировки по возрастанию (в нижнем регистре):