0

これは私のルビーコードです:

<%= simple_form_for([@video, @video.comments.new]) do |f| %>
  <% f.association :comment_title %>
  <% f.input :body %>
  <% f.button :submit %>
<% end %>

これは、生成された HTML マークアップです。

<form accept-charset="UTF-8" action="/videos/485/comments" class="simple_form comment" id="new_comment" method="post">
    <div style="margin:0;padding:0;display:inline">
        <input name="utf8" type="hidden" value="✓">
        <input name="authenticity_token" type="hidden" value="55xSU8JUe1SgipjAkAEvCvidFdJY3hv8Qz5VBqUSrdE=">
    </div>
    <input class="button" id="comment_submit" name="commit" type="submit" value="Create Comment">
</form>

明らかに、:body 入力フィールドと関連選択リストが正しく作成されていません。これはなぜですか、どうすれば修正できますか?

ところで、ビデオには多くのコメントがあり、コメントはビデオに属します。また、comment_title には多くのコメントがあり、コメントは動画に属します。Comment_title は仮想属性で生成されます。

他に見たいコードがあれば教えてください。

4

2 に答える 2

3

これらは両方とも、Railsアプリケーションでの選択によるものです。1つ目は、文字エンコードにutf8を使用するようにアプリケーションを構成することを選択したことです。2つ目は、デフォルトで、アプリケーションがクロスサイトリクエストフォージェリ攻撃から保護するように設定されているためです。信頼性トークンは、ユーザーがフォームを送信したときにサーバーに返される応答が実際にはあなたからのものであり、トラフィックを監視してデータベースを混乱させるために投稿する他のソースではないことを保証します。

于 2011-04-05T04:30:50.273 に答える
2

問題は、フォーム要素の <%= に "=" を追加する必要があることでした。

于 2011-04-06T02:43:03.247 に答える