QA@IT
«質問へ戻る

質問を投稿

StrongParametersでaction_argsを使用した際、デフォルト値にnil以外が設定出来ない

StrongParametersでaction_argsを使用した場合、アクションの引数に指定したパラメータが存在しないとエラーになり、エラーを回避する為にはデフォルト値を設定すれば良いようなのですが、このデフォルト値にnil以外の値を設定しても全てnilになってしまうという事象になっています。

  # the `page` parameter is optional
  def index(page = nil)
    p page
  end

params[:page]が無ければpage==nil

  # the `page` parameter is optional
  def index(page = 10)
    p page
  end

params[:page]が無いとpage==nilとなる

何か使い方が間違っているのでしょうか?

環境は下記の通りです。

ruby -v
----------
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1]
----------
rails -v
----------
Rails 4.0.0.rc1
----------
StrongParametersでaction_argsを使用した場合、アクションの引数に指定したパラメータが存在しないとエラーになり、エラーを回避する為にはデフォルト値を設定すれば良いようなのですが、このデフォルト値に`nil`以外の値を設定しても全て`nil`になってしまうという事象になっています。

* [asakusarb/action_args · GitHub](https://github.com/asakusarb/action_args)

```rb
  # the `page` parameter is optional
  def index(page = nil)
    p page
  end
```

`params[:page]`が無ければ`page==nil`

```rb
  # the `page` parameter is optional
  def index(page = 10)
    p page
  end
```

`params[:page]`が無いと`page==nil`となる

何か使い方が間違っているのでしょうか?

環境は下記の通りです。

```
ruby -v
----------
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1]
----------
```

```
rails -v
----------
Rails 4.0.0.rc1
----------
```