Ruby/RubyOnRails-日本語
Rails 一日一つメソッド (Day39) paramsメソッド
아랑팡팡
2024. 2. 22. 20:28
728x90
Rails 一日一つメソッド (Day39) paramsメソッド
1. paramsメソッドとは?
- HTTP Requestに送られてきた情報(パラメータ)を取得し扱うメソッド。
1) GET
- URLのクエリ ストリングによって渡されたパラメータに接近する時に使う。
/articles?category=technology&order=asc
このURLでは、params[:category]は "technologyを変換し、params[:order]は "asc"を変換する。
2) POST
Form dataや JSONなどのによって渡されたパラメータに接近する時に使う。
3) route parameters
- URLの一部に渡されたパラメータに接近する時に使う。
/users/1
idパラメータに接近するために params[:id]を使うと 1 が変換される。
2. params使い方
- paramsメソッドは、Controller内でHTTPリクエストを処理する役割を持っている。
- 戻り値は hashと同様にアクセスできる。
params[キー]
1) URLリクエスト文字列とparams
http://example.com/posts?category=Rails&tag=ActiveRecord
def index
@category = params[:category] # Rails
@tag = params[:tag] # ActiveRecord
end
2) Formとparams
<%= form_with model: @post, local: true do |form| %>
<%= form.text_field :title %>
<%= form.text_area :body %>
<%= form.submit "Submit" %>
<% end %>
def create
@post = Post.new(params.require(:post).permit(:title, :body))
if @post.save
redirect_to @post
else
render :new
end
end
3) routingとparams
get 'posts/:id', to: 'posts#show'
def show
@post = Post.find(params[:id])
end
Strong Prameters
def user_params
params.require(:user).permit(:name, :email)
end
params.require(:user)
- userキーの存在を確認し、permit(:name, :email)パラメータだけを許可する。
重畳されたパラメー
- フォームやJSON要請により重畳されたパラメータが送信される場合、paramsを通じてアクセスすることができます。
params[:user][:address]
728x90
반응형
LIST