0

index.html.erbに new.html.erb form_fordiv を表示する方法はありますか?

ホームページを離れずに新しいエントリを追加できるようにしたいです。もしかしてパーシャル?

4

4 に答える 4

0

この方法は私にとってはうまくいきます。

links_controller.rb で @link をインデックス コントローラーに追加しました

def index
 @links = Link.all
 @link = Link.new
end

index.html.erb では、部分的なものだけを追加しました

<%= render 'form' %>

これの画面で終わった: ここに画像の説明を入力

于 2015-04-10T19:02:43.740 に答える
0

テンプレートの一部をレンダリングすることはできません。テンプレート全体のみをレンダリングします。

複数のテンプレートに同じパーツがある場合は、それをパーシャルに配置し、パーシャルをテンプレートの一部としてレンダリングします。

これは非常に単純な例です:

_partial.rb:

<%= form_for ... %>
  ...
<% end %>

new.html.erb:

render 'partial'

index.html.erb:

render 'partial'

パーシャルとレンダリングの詳細については、Rails ガイドを参照してください。

于 2013-07-05T19:37:11.817 に答える
-1

はい、その場合は部分的なほうがよいでしょう。その「_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' %>
于 2013-07-05T19:41:55.333 に答える