迅速な警告:私はRailsにはかなり新しく、知識は多少クッキーカッター風です。私は特定のことをする方法を知っていますが、私は彼らが常に働く理由をその重要な理解に欠いています。Form_Forを使用してモデルのハッシュ属性を更新する方法
私は現在、アドレス、電子メールなどのような情報を含むUserモデルを持っています。さらに、visibleと呼ばれるハッシュもあります。そのハッシュのキーは情報のそれぞれであり、値は、ユーザーが情報を公開するかどうかを示すために真または偽のいずれかです。これが最善の方法であるかどうかはわかりませんが、情報のビットごとにブール変数を大量に作る以外の方法は考えられません。最後に、私はシリアライズします:データベース内のストレージに可視化
私は、編集ビューで、可視属性を表す情報の各フィールドの横にチェックボックスを付けることをお勧めします。このトピックに関連する他の多くの記事を読んだ後、さまざまなコードを試してみると、私はいつも何らかのエラーで終わります。
<%= form_for(@user, :id => "form-info-personal") do |f| %>
...
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.check_box :visible[:name] %>
をしかし、私はシンボルが整数に解析することができないというエラーメッセージが表示されます:次のように私に最も直感的に正しく見えるコードです。私はこのパースがどこで起こそうとしているのかわからない。それは、表示していない限り、配列として見えて、名前をインデックスとして使用しようとする。
この質問が些細なこと/一見無意味である/重要な情報が欠落している場合などは、事前にお詫びします。あなたが「これを根本的に間違ってやっている」という行に沿っていても、ヒント、提案、リンク、またはあなたが非常に感謝しているものは、このように戻ってやります。
-Nick
離れ連載からご利用いただけます。これは最初の問題ですが、シリアライゼーションのために多くの問題が発生します。特定の列を追加することはまったく間違っていません。 – wanghq
@wanghq:シリアル化には問題ありません。 –