一个 Ruby 表单上的两个提交按钮到两个控制器
Two Submit Buttons to Two Controllers on One Ruby Form
我有一个适用于此表单的提交按钮:
_form.html.erb
<%= form_for(@goal) do |f| %>
<% if @goal.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@goal.errors.count, "error") %> prohibited this goal from being saved:</h2>
<ul>
<% @goal.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="america">
<form>
<div class="form-group">
<%= f.text_field :name, class: 'form-control', placeholder: 'Enter Goal' %>
</div>
<div class="date-group">
<label> Deadline: </label>
<%= f.date_select :deadline, :order => [:month, :day, :year], class: 'date-select' %>
</div>
<div class="america2">
<%= button_tag(type: 'submit', class: "btn") do %>
<span class="glyphicon glyphicon-plus"></span>
<% end %>
<%= link_to goals_path, class: 'btn' do %>
<span class="glyphicon glyphicon-chevron-left"></span>
<% end %>
<%= link_to @goal, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn' do %>
<span class="glyphicon glyphicon-trash"></span>
<% end %>
</div>
</form>
</div>
<% end %>
如何添加另一个指向不同 controller/model/index 的提交按钮?它是如何运作的:一旦用户完成了自己设定的目标,他们就可以将其打勾。我希望勾选提交按钮,通过将目标发送到 accomplished_goals 索引来更新目标索引中的目标。
除了向此视图表单添加内容外,我还需要向 GoalsController 或 AccomplishedGoalsController 添加任何内容吗?
感谢您的帮助!我无法从其他具有相似名称的 Whosebug 问题中找到解决方案。
很难从你的描述中看出你想要达到的目标,而且你的 html 似乎包含许多没有结束标签的开始标签。
据我了解,您的处理方式有误。我建议只使用一个带有名为 "accomplished" (true/false) 的 bool 列的 Goal 模型,而不是使用 Goal 模型和 AccomplishedGoal 模型。然后您可以只创建一个表单来更新此字段。要查找所有已完成的目标,您可以使用 scopes.
如果这不是您要查找的内容,请更详细地描述问题。
我有一个适用于此表单的提交按钮:
_form.html.erb
<%= form_for(@goal) do |f| %>
<% if @goal.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@goal.errors.count, "error") %> prohibited this goal from being saved:</h2>
<ul>
<% @goal.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="america">
<form>
<div class="form-group">
<%= f.text_field :name, class: 'form-control', placeholder: 'Enter Goal' %>
</div>
<div class="date-group">
<label> Deadline: </label>
<%= f.date_select :deadline, :order => [:month, :day, :year], class: 'date-select' %>
</div>
<div class="america2">
<%= button_tag(type: 'submit', class: "btn") do %>
<span class="glyphicon glyphicon-plus"></span>
<% end %>
<%= link_to goals_path, class: 'btn' do %>
<span class="glyphicon glyphicon-chevron-left"></span>
<% end %>
<%= link_to @goal, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn' do %>
<span class="glyphicon glyphicon-trash"></span>
<% end %>
</div>
</form>
</div>
<% end %>
如何添加另一个指向不同 controller/model/index 的提交按钮?它是如何运作的:一旦用户完成了自己设定的目标,他们就可以将其打勾。我希望勾选提交按钮,通过将目标发送到 accomplished_goals 索引来更新目标索引中的目标。
除了向此视图表单添加内容外,我还需要向 GoalsController 或 AccomplishedGoalsController 添加任何内容吗?
感谢您的帮助!我无法从其他具有相似名称的 Whosebug 问题中找到解决方案。
很难从你的描述中看出你想要达到的目标,而且你的 html 似乎包含许多没有结束标签的开始标签。
据我了解,您的处理方式有误。我建议只使用一个带有名为 "accomplished" (true/false) 的 bool 列的 Goal 模型,而不是使用 Goal 模型和 AccomplishedGoal 模型。然后您可以只创建一个表单来更新此字段。要查找所有已完成的目标,您可以使用 scopes.
如果这不是您要查找的内容,请更详细地描述问题。