Ruby(とRails)の新機能です。ビューファイルからフォームデータを取得してコントローラ内で何かを計算しようとしていますが、メソッドによって返されます。私はそれが私が見落としている非常にシンプルなものだという気持ちがあります。Rubyメソッドが値を返さないようです
これはdef create
内にある:
def calcQuadrant
important = params[:task][:important] # INT of 0 or 1
urgent = params[:task][:urgent] # INT of 0 or 1
if important == 1 && urgent == 1
return 1
elsif important == 1 && urgent == 0
return 2
elsif important == 0 && urgent == 1
return 3
elsif important == 0 && urgent == 0
return 4
end
end
calcQuadrant
は、コンソールにしても、私はput
important
またはurgent
、何も返さいないようですし、彼らが値を持っています。私は最終的にcalcQuadrant
によって返された値を新しいパラメータに割り当てようとしています:params[:task][:quadrant]
。
高レベルで、私が本当に理解しようとしているのは、ビューからコントローラに渡されなかったモデルにパラメータを渡すための最良の方法です。コントローラ内のそのパラメータに値を代入するだけです。たとえば、ユーザーに「やるべきこと」と、「重要」および/または「緊急」であるかどうかを尋ねます。彼らの選択に基づいて、私はタスクが入る象限を計算します。 DBの重要性と緊急性を保存するのではなく、四分円を保存したいだけです。
なぜルート経由でマップしないのですか?ポスト:/ todo /:id/important – Roger