2012-06-13 8 views
6

これはまったく新しいプロジェクトです。Railsコントローラのアクションメソッドにパラメータが必要な理由

  1. rails new MyProject
  2. bundle install
  3. rails generate controller Image

私はこの1つのルートを追加しました::

  1. root :to => "image#process"
をここで私が実行した正確なコマンドです

私はImageControllerimage_controller.rb

def process 
    render :nothing => true 
end 

にこの機能を追加しましたそして最後に、私はデフォルトindex.htmlを削除しました。私がプロジェクトを実行すると、プロセスはプロセスが0のパラメータ(1ではなく)を期待しているとエラーしています。そこで、どのパラメータが処理されようとしているか教えてください。

def process(arg) 
    p arg 
    render :nothing => true 
end 

"process"という文字列が画面に表示されます。私はこれまでにいくつかのRailsプロジェクトを行ってきましたが、これは決して遭遇しませんでした。私はどこかのステップを逃しましたか?これはRails 3.0.10の新機能ですか?または、Ruby 1.9.2によって引き起こされたのでしょうか?私は通常、1.8.7を使用していると思います。

答えて

11

アクションの名前をprocessと指定することはできません。これはrailsコントローラの内部メソッドです。他の名前を付けてください。

レンダリング、params、requestなどのコントローラのアクションには使用できないたくさんの名前があります。残念ながら、これらのもののリストはありません。今後の参考のために

+0

ああ、私はそれについても考えていませんでした。ありがとう! – Spidy

+0

ああ...私は多くの時間を節約できました。ありがとう! – rdsoze

1

は、あなたがそれを使用していない場合には、あなたはここですべての内部メソッドやクラスを表示することができます:名前を選ぶときruby doc with nav on top right

は私を支援します。

関連する問題