index.html.erbに new.html.erb form_for
div を表示する方法はありますか?
ホームページを離れずに新しいエントリを追加できるようにしたいです。もしかしてパーシャル?
index.html.erbに new.html.erb form_for
div を表示する方法はありますか?
ホームページを離れずに新しいエントリを追加できるようにしたいです。もしかしてパーシャル?
この方法は私にとってはうまくいきます。
links_controller.rb で @link をインデックス コントローラーに追加しました
def index
@links = Link.all
@link = Link.new
end
index.html.erb では、部分的なものだけを追加しました
<%= render 'form' %>
これの画面で終わった:
テンプレートの一部をレンダリングすることはできません。テンプレート全体のみをレンダリングします。
複数のテンプレートに同じパーツがある場合は、それをパーシャルに配置し、パーシャルをテンプレートの一部としてレンダリングします。
これは非常に単純な例です:
_partial.rb:
<%= form_for ... %>
...
<% end %>
new.html.erb:
render 'partial'
index.html.erb:
render 'partial'
パーシャルとレンダリングの詳細については、Rails ガイドを参照してください。
はい、その場合は部分的なほうがよいでしょう。その「_form.html.erb」のパーシャルを持つことができます。そのパーシャルにform_for
コンテンツを入れるだけです。ブログ モデルがあり、インデックスにブログ リストが表示されているとします。
def index
@blog = Blog.new
#your rest code goes here
end
index.html.erb
<YOUR HTML CONTENT>
<%= render "/blogs/form" %>
_form.html.erb
<%= form_for(@blog) do |f| %>
Your code for the form
<%= end %>
新しいアクションを維持したい場合は、フォームのみを表示します。アクションと new.html.erb を変更する必要があります。
def new
@blog = Blog.new
end
new.html.erb で
<%= render '/blogs/form' %>