## 루비 온 레일즈에서 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
```
댓글
댓글 쓰기