루비 온 레일즈에서 Strong Parameters 를 사용할 때 permit이 아닌 파라미터를 사용하는 방법(How to use unpermitted parameter by using Strong Parameters in Ruby on Rails)



## 루비 온 레일즈에서 Strong Parameters 를 사용할 때 permit이 아닌 파라미터를 사용하는 방법(How to use unpermitted parameter by using Strong Parameters in Ruby on Rails)

Strong Parameters는 강력한 보안을 위해 사용된다. 하지만 모델의 속성(attribute)이 아니지만 하나의 모델 form에서 받아야하는 파라미터가 있을 수 있다. 그럴 때 어떻게 할까? 라는 질문에 답을 해보자. 아래와 같은 컨트롤러에서 "special_attribute" 라는 파라미터로 값을 넘겨받아야 한다고 가정해보자.

```ruby
def action
  if @instance.save(model_params)
    redirct_to :back
  end
end

private
def model_params
  params.require(:model).permit(:attribute1, :attribute2)
end
```

그런 경우 아래와 같이 코드를 작성할 수 있다.

```ruby
def action
  if @instance.save(model_params)
    special_attribute = params[:model][:special_attribute]
    puts "#{special_attribute}"
    redirct_to :back
  end
end

private
def model_params
  params.require(:model).permit(:attribute1, :attribute2)
end
```




댓글

이 블로그의 인기 게시물

부트스트랩 사용 시 버튼 오른쪽 정렬하는 방법 (How to use float-right for right align in bootstrap)

맥(Mac)에서 MySql 사용 시 Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 오류가 발생하는 경우 해결 방법

HTML, CSS - footer fixed (foot 하단 고정 시키기)