Ruby on Rails Web App Controllerはエラーを生成します
-
20-12-2019 - |
質問
ビデオシリーズに沿って追跡しています。この作者はROR 4を使って単純なCMSを作成していますが、現在ROR 3.xがインストールされています。私はすべてのコードを "t"に続いたが、シンプルなCMSで単純な件名を作成しようとすると、エラーが発生しています。だから私はlog / production.log
をチェックしましたそして私は次のエラーを獲得しています、
TypeError (no implicit conversion of Symbol into String):
コントローラコードは、次のようになります。
def create
# Instantiate a new object using form parameters
# the below line should work with rails v3.x
# @subject = Subject.new(params[:subject])
@subject = Subject.new(subject_params)
# Save the object
if @subject.save
# add flash hash
flash[:notice] = "Subject created successfully."
# if save succeeds, redirect to the index action
redirect_to(:action => 'index')
else
# if save fails, redisplay the form so user can fix problems
render('new')
end
end
.
と件名新しいPARAMS用に作成したプライベートメソッドは、次の
のように見えます。 private
def subject_params
# same as using "params[:subject]", except that it:
# - raises an error if :subject is not present
# - allows listed attributes to be mass-assigned
params.require(:subject).permit(:name, :position, :visible)
end
. 解決
作成者は、@subject = Subject.new(subject_params)
に@subject = Subject.new(params[:subject])
を変更する必要があることを指示します。
params.require(:subject).permit(:name, :position, :visible)
は、強いパラメータと呼ばれるレール4機能です。あなたがレールに新しいなら私はあなたがこのような将来のバージョンの問題を軽減するために著者が使用するバージョンを使用することをお勧めします。
所属していません StackOverflow