Noobの質問が、私はそれは同様に他の人を助けることができると思い、は、新しいフィールドを作成するには、コントローラでフォームデータを操作する - ここではRailsの
イムは、(ビュー)のフォームからデータを取得し、私のコントローラで私が使用したいですこのフィールドはinitialgpaであり、新しいフィールド:normalisedgpaを作成し、それをデータベースに戻します。しかしA)は、私のデータベースは決して更新とB)私は2で乗算を追加するとき、私はこのエラー未定義のメソッドを取得する「*」nilのために:
def update
@studentprofile = StudentProfile.find_by(id: params[:id])
@studentprofile.update_attributes(student_profile_params)
redirect_to @studentprofile
end
def student_profile_params
params[:normalisedgpa] = params[:initialgpa].to_s * 2
params.require(:student_profile).permit(:status,:name,:imagethumbnail,:aboutme, :country, :state, :city,:language, :age,:gender,:initialgpa,:normalisedgpa,:universityname,:degree ,:degreetype ,:countryofdegree,:workexperience ,:wantstoworkin,:hasworkexperiencein,:permissiontoworkin,:currentlyemployed,:referencesuponrequest ,:worktype,:monthsspentabroadworking,:monthsspentabroadliving,:charitywork)
end
私も持っているNilClass以下
は私のコントローラのコードです代わりにupdateメソッド内に "params [:normalisedgpa] = params [:initialgpa] * 2"を配置し、 ".to_s"と運がなくなるようにしました。
乾杯! @ジェイ-AR Polidarioから上記の回答に追加するよう
素晴らしい、今正規化されたGPAを更新していること!しかし、乗算のフロントでは、単に10.0などの入力を受け取り、20.0ではなく1010.0に変換します。私のx * 2の使用は間違っていますか? –
私は自分の答えを更新し、 '.to_s'を削除しました。なぜなら数字を1010になる文字列に変換するからです。 –
あなたは素晴らしい人間です –