Ruby on rails 如果。。else语句
我正试图将一个价值回归到我的观点中,尽管没有取得太大的成功 错误 未定义的局部变量或方法“schedule”# 模型 帮手 看法Ruby on rails 如果。。else语句,ruby-on-rails,view,if-statement,switch-statement,Ruby On Rails,View,If Statement,Switch Statement,我正试图将一个价值回归到我的观点中,尽管没有取得太大的成功 错误 未定义的局部变量或方法“schedule”# 模型 帮手 看法 所有这些都返回以下错误 计划#索引中的名称错误 显示/Users/**/Sites/rails\u projects/**/app/views/schedules/index.html.erb,其中第46行出现: 43: <% @schedules.each do |schedule| %> 44: &l
所有这些都返回以下错误
计划#索引中的名称错误
显示/Users/**/Sites/rails\u projects/**/app/views/schedules/index.html.erb,其中第46行出现:
43: <% @schedules.each do |schedule| %>
44: <tr>
45: <td><%= schedule.event %></td>
46: <td><strong><%= win_lose_tie_display(schedule.win_lose_tie) %></strong> <%= schedule.for %> — <%= schedule.against %></td>
47: <td><%= schedule.opponent %></td>
48: <td><%= schedule.date.to_formatted_s(:event_date) %>
49: </td>
43:
44:
45:
46:&mdash;
47:
48:
49:
这方面的任何帮助都将是巨大的
提前感谢在您的
输赢
方法中,与自我
交换时间表
这是因为win\u lose\u tie
是调度对象的实例方法。您已经在schedule对象的上下文中,因此无需编写schedule.
。事实上,这将引用不存在的*您的_schedule\u object*.schedule
作为站点提示:由于您只读取值,因此甚至可以完全忽略
self
。但是,如果您指定了值,则需要self
。您需要提供有关错误的更多信息。单击应用程序跟踪或完整跟踪,前几行应提供必要的信息。你的win\u lose\u tie看起来很尴尬。尝试重构它,使其具有更多的行或至少更多的大括号。应用程序跟踪返回以下app/models/schedule.rb:12:in
win\u lose\tie'app/views/schedules/index.html.erb:46:inapp\u views\u schedules\u index\html\u erb\uu 1705540283\u 2185334800'app/views/schedules/index.html.erb:43:in
app/views/schedules/index.html.erb:43:in\u app\u views\u schedules\u index\u html\u erb\u 1705540283\u 2185334800'app/controllers/schedules\u controller.rb:7:in
index'@ChristophPetschnig我已经重构了代码,并包含了更多信息这是你的日程模型吗?在这种情况下,在您的win\u lose\u tie
方法中,与self
交换schedule
。如果它解决了您的问题,我会将此作为答案发布。@blackbird07成功了,在重做if..else语句后,我更新了上面的代码
def win_lose_tie_display(value)
case value
when :win
"W"
when :lose
"L"
when :tie
"T"
else
"unknown win/lose/tie value"
end
end
<%= win_lose_tie_display(schedule.win_lose_tie) %>
43: <% @schedules.each do |schedule| %>
44: <tr>
45: <td><%= schedule.event %></td>
46: <td><strong><%= win_lose_tie_display(schedule.win_lose_tie) %></strong> <%= schedule.for %> — <%= schedule.against %></td>
47: <td><%= schedule.opponent %></td>
48: <td><%= schedule.date.to_formatted_s(:event_date) %>
49: </td>