我正在尝试更新显示页面中的多个复选框。我真的很困惑如何做到这一点,很多在线帮助真的让我困惑。我还是铁杆菜鸟。我正在使用rails 4。
*Edit*
我目前得到的错误是
Missing template lottery/create, application/create with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}.
这是我的页面控制器
class LotteryController < ApplicationController
before_filter :authenticate_user, :only => [:new, :show,:update]
def new
@winner = Lottery.pickWinner()
end
def show
@conferences = Conference.all
#@lead = Lead.all
@leads = Lead.new
end
def update
end
end
以及此控制器的show.html.erb页面
<body>
<%= form_tag do %>
<% @conferences.each do |c| %>
<table class = 'table table-striped table-responsive table-bordered table- condensed'>
<h1> Conference : <%= c.name %> </h1>
<tr>
<td><b>First Name</b></td>
<td><b>Last Name</b></td>
<td><b>Email</b></td>
<td><b>Department</b></td>
<td><b>Title</b></td>
<td><b>Company</b></td>
</tr>
<tr>
<% @leads.get_lead_by_conference(c.id).each do |l| %>
<td> <%= l.lead_first_name %> </td>
<td> <%= l.lead_last_name %> </td>
<td> <%= l.email %> </td>
<td> <%= l.department %></td>
<td> <%= l.title %> </td>
<td><%=l.account_name %> </td>
<td><label for="lead">Enable for Lottery</label><br/>
<%= check_box_tag "leads_checkbox[]",l.id %> <%= l.lotter_flag %>
</td>
</tr>
<% end %>
</table>
<% end %>
<%= submit_tag "select Winners" %>
<%end %>
</body>
Edit my get_lead_by_conference_id(conf_id ) under Lead model
def get_lead_by_conference(conf_id)
# get all leads that correspond with conf id
Lead.where(:conference_id => conf_id)
end
所以我正在尝试做的是在我的展示页面中,我有多个由这些会议分隔的表格。在每个会议中我都有一个领导,我想在每个会议中选出一个获胜者。 Leads模型中的布尔值属性为lotter_flag
。我想在点击提交按钮后用标记的复选框更新所有这些潜在客户。已经踩到的一些事情是我在不同的控制器下更新Leads模型。在此先感谢,如果我有格式错误,我会道歉。
答案 0 :(得分:1)
问题在于您的show method
,您已经 @lead = Lead.all
,而在show.html.erb
,您正在使用 @leads
< / strong>实际上是Lead.new
中的 show method
。它没有任何意义,字面意思是你正在执行 each
Lead.new
这是错误的。
尝试更改show method
这样的
def show
@conferences = Conference.all
@leads = Lead.all
@lead = Lead.new
end
注意:强>
根据{{1}},Controller类名应为 Rails Covention
。在您的情况下,它应该是 plural
而不是 { {1}} 即可。虽然现在 LotteriesController
不是问题,但始终建议使用。
<强>更新强>
关于您的错误,Rails实际上正在寻找名为 LotteryController
的文件。
您应该更改 convention
中的form_tag
create
您也应该在控制器中使用 show.html.erb
方法。