액션뷰 (h메소드)

IT(Old)/RubyOnRails-Tip 2008. 1. 22. 10:37
<%= h("차림표") %>
부분의 코드에서 h도우미 메소드는 인자로 받는 문자열 중에
<, >, & 등의 문자가 있을 때 이를 이스케이프 시켜주는 메소드이다. 이들 문자는 html내에서 특별하게 인식되기 때문에, 이들 문자가 텍스트 중에 그대로 사용되면, 브라우저에서 html화면이 깨져 보이게 된ㄷ.ㅏ 따라서 텍스트 데이터가 html문서의 중간에 삽이되는 경우에는 항상 h메소드를 적용하는 습관을 들이는 것이 좋다.

액션 뷰(빈줄 삽입)

IT(Old)/RubyOnRails-Tip 2008. 1. 22. 10:17
HTML코드에서 <% @name = "홍길동" %> 이 입력되었던 다리에 빈줄이 삽입된 것을 알 수 있다.
이러한 빈 줄이 삽입되지 않기를 원한다면, <% @name = "홍길동" %> 대신에 <% @name = "홍길동" =%>이라고 입력하면 된다.

필터

IT(Old)/RubyOnRails-Tip 2008. 1. 22. 10:11

필터란 액션 컨트롤러의 액션 메소드가 실행되기 이전 또는 이후에 추가적인 작업을 할 수 있게 하는 기능이다.
필터가 유용한 이유는 여러 액션 또는 컨트롤러에 공통적으로 적용될 작업을 한 곳에서 관리할 수 있기 때문이다.

필터는 액션컨트롤러 클래스의 메소드로 정의된다. 보통 하나의 필터는 여러 개의 컨트롤러 클래스에서 공통적으로 사용되는 경우가 많으므로, 모든 컨트롤러의 부모 클래스에서 정의되는 것이 일반적이다.

-application.rb

class ApplicationController < ActionController::Base
  private
  def check_login_status
    unless session[:user_id]
      redirect_to :controller => "login", Laction => "login_form"
    end
  end

end

- users_controller.rb
class UsersController < ApplicationController
 
  before_filter :check_login_status, :except => [:list, :show]
 
....

:except나 :only를 사용하여 원하는것만 적용도 가능하다.