我有一个链接模型,其中包含为其创建的所有通用支架,但是,不是转到链接#new page,我想从我的主页提交填写新记录的表单。
我只有一个文本字段,但我不知道如何构建表单。我在某处读到你必须在表单字段中指定控制器,但这似乎不起作用。
<%= form_for(:link, @link) do |f| %>
<% if @link.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@link.errors.count, "error") %> prohibited this link from being saved:</h2>
<ul>
<% @link.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :url %><br />
<%= f.text_field :url %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
答案 0 :(得分:3)
如果使用默认路由,则无需指定任何内容。
如果@link是数据库中不存在的对象,Rails会自动认为这是#new
的表单。因此,表单操作将为/links
,方法为post
,这是#create
的默认资源
在您的情况下,您不需要做任何事情,只需将表单代码修改为:
<%= form_for(@link) do |f| %>
....
此外,您需要在家庭控制器中准备@link对象,例如
@link = Link.new
答案 1 :(得分:0)
您所要做的就是在form_for帮助
中添加url
参数
<%= form_for :link, url: your_home_path do |f| %>