私はチェックしようとしています-いくつかの(言語)属性が変更されているかどうか、そしてそれがいくつかの値と等しい場合は、それを他の適切な値に変更する必要があります。
これが私のコードです:
編集:
def update
@website = Website.find(params[:id])
@website.language = params[:website][:language]
if @website.language_changed?
if params[:website][:language] == "Automatic (by user's browser language)"
@website.language = full_language(request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).first)
end
end
respond_to do |format|
if @website.save
format.html { redirect_to @website,
notice: 'Note: code has been updated. Please replace the code you have on your website with the code below. Only then changes will take effect.' }
end
end
end
私のフォーム:
<%= f.label "Website category"%>
<%= f.select :category, options_for_select([
"--- please select ---",
"Banking",
"Computers]) %>
<%= f.label "Language preferences"%>
<%= f.select :language, options_for_select([
"--- please select ---",
"Automatic (by user's browser language)",
"Arabic",
"Chinese"]) %>
そして、カテゴリを変更するときは、言語をデフォルトに変更します。どうすればこれを防ぐことができますか?
エラーが発生します:
undefined method `updated?' for "--- please select ---":String
私が間違っているのは何ですか?