Skip to content

Instantly share code, notes, and snippets.

@libitte
Last active August 29, 2015 14:11
Show Gist options
  • Save libitte/529c27450293c9f37661 to your computer and use it in GitHub Desktop.
Save libitte/529c27450293c9f37661 to your computer and use it in GitHub Desktop.
パーフェクト Ruby on Rails 2章 まとめ ref: http://qiita.com/libitte/items/2be4c545d2fbc5c23002
scope :written_about, ->(theme) { where("name like ?", "%#{theme}%")}
bundle exec rake routes
class ProfileController < ApplicationController
def update
user = current_user
user.update(user_params)
end
private
def user_params
params.require(:user).permit(:name, :email)
end
end
def show
@book = Book.find(params[:id])
end
class BookController
def show
@book = Book.find(params[:id])
respond_to do |format|
format.html
format.csv
end
end
end
format.xml { render xml: @book }
<%= yield %>
<ul>
<%= 3.times do |n| %>
<li>Number = <%= n %></li>
<% end %>
</ul>
%html
%head
%title Hi
%body
%h1 #header Header
- 3.times do |i|
%p Item
%p= i
doctype html
html
head
title Hi
body
h1 id="header" Header
- 3.times do
p Item
url_for(controller: :users, action: :index)
#=> /users
url_for(controller: :users, action: :index, id: 1234, detailed: 'true')
#=> /users/1234?detailed=true
<% form_for(@publisher) do |f| %>
<% end %>
resources :publishers
<%= raw "<script>alert('sample');</script>" %>
<%= "<script>alert('sample');</script>".html_safe %>
json.extract! @book, :id, :name, :price, :created_at
json.name_with_id "#{@book.id} - #{@book.name}"
json.publisher do
json.name @book.publisher.name
json.addredd @book.publisher.address
end
unless @book.high_price?
json.low_price true
end
resources :publisher do
resources :books
member do
get 'detail'
end
end
end
resource :profile
resource :profile, only: %i{show edit update}
rescue_from LoginFailed, with: :login_failed
def login_failed
render template: 'shared/login_failed', status: 401
end
class LoginController < ApplicationController
def create
@user = User.where(name: params[:name], password: params[:password]).first
raise LoginFailed unless @user
end
end
user = User.find(1)
user.update(name: "Bob", email: "[email protected]")
class ProfileController < ApplicationController
def update
user = current_user
user.update(params[:user])
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment