私はRuby on Railsには新しく、Mac OS Xではバージョン2.3で作業しています。 足場が作成するのと同じ機能を作成しようとしていますが、自分で作成しています。 "投稿"コントローラ、ビュー、モデルを作成しました。ポストコントローラで 、iは下記た:new.html.erbでインスタンス変数とルビーのシンボル(form_for)
class PostController < ApplicationController
def index
end
def new
@post = Post.new
end
end
、iは下記た:
<h1>New Post</h1>
<% form_for :post do |f| %>
<%= f.text_field :title %>
<% end %>
iは、足場にインスタンス変数、使用するコードを生成したことに気づいform_forヘルパーの@post。なぜシンボルを渡す場合、スカフォールド生成されたフォームでインスタンス変数を使用するのですか?form_forのpostは全く同じことを行いますが、シンボルはルートの設定を変更する必要がありますか?
はのYuval
ありがとう、ありがとう。それは明らかになります:) –
その隠された_メソッドの重要性は、ブラウザーがputメソッドとdeleteメソッドをサポートしていないので、ポストメソッドがputまたはdeleteであることをアプリケーションに知らせなければならないということです。これは私たちのため – ErsatzRyan
新しいフォームで@postを使う必要があり、フォームが別々の場合でも必要になります。それ以外の場合、無効なデータを含む新しい投稿を作成し、検証エラーが発生した新しいフォームに戻ると、入力した情報が入力されません。 –