有没有办法在index.html.erb中显示new.html.erb form_for
div?
我希望能够在不离开主页的情况下添加新条目。也许是偏袒?
答案 0 :(得分:0)
你不能渲染模板的一部分,只能渲染整个模板。
如果你的几个模板的部件相同,那么将它放在部分模板上,然后将部分模板作为模板的一部分。
这是一个非常简单的例子:
_partial.rb:
<%= form_for ... %>
...
<% end %>
new.html.erb:
render 'partial'
index.html.erb
render 'partial'
有关部分和渲染的更多信息,您可以阅读rails guides。
答案 1 :(得分:0)
我通过在控制器的索引模块中创建@article = Article.create来实现它。奇迹般有效。不需要部分。
答案 2 :(得分:0)
这种方法对我有用。
在links_controller.rb中,我将@link添加到索引控制器
def index
@links = Link.all
@link = Link.new
end
在index.html.erb中,我只添加了部分
<%= render 'form' %>
结束以下屏幕:
答案 3 :(得分:-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' %>