gpt4 book ai didi

ruby - 在 Ruby on Rails 中,执行 Rails 应用程序的流程应该是什么

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:33 27 4
gpt4 key购买 nike

我是 Ruby on Rails 的新手,我对 Ruby on Rails 应用程序有点困惑。我已经做了所有这些事情。

路线.rb

Recruitment::Application.routes.draw do
get 'hr/internal_employee_page', controller: 'hr', action: 'internal_employee_page'
get 'hr/permanent_consultant_page' => 'hr#permanent_consultant_page', as: :permanent_consultant_page
end

hr_controller.rb

class HrController < ApplicationController

def internal_employee_page
@employees = OfferLetter.all
# render :text => @employees.inspect
end

def employee_details
@employees = OfferLetter.all
end
end

_hr_page.html.erb

<%= render 'hr/dashboard'%> <%= render 'hr/internal_employee_page'%>

_internal_employee_page.html.erb

<div id="job_details">
<%= render "hr/employee_details" %>
</div>

_employee_details.html.erb

<% @employees.each do |emp| %>
<h3> Employee Name : <%= emp.full_name %> </h3>
<% end %>

然后我得到这个错误:

undefined method `each' for nil:NilClass.

当我跟踪时,我发现 hr_controller.rb 没有执行。如果我注释掉 hr_controller.rb 中的所有内容,那么我会得到同样的错误。所以请告诉我我做错了什么以及解决方案是什么。

最佳答案

Rails 查找与 Controller 方法同名的 View 。从 internal_employee_page.html.erb 文件的名称中删除下划线。您对部分使用下划线。

internal_employee_page.html.erb

<div id="job_details">
<% @employees.each do |emp| %>
<%= render partial: "hr/employee_details", locals: {emp: emp} %>
<% end %>
</div>

_employee_details.html.erb

<h3> Employee Name : <%= emp.full_name %> </h3>

可能值得一读the guide关于渲染布局和局部。

nil 错误表示事件记录调用 OfferLetter.all 失败。您是否已设置该 d/b 表、运行迁移等?尝试在 Rails 控制台中运行该命令,看看会得到什么。

关于ruby - 在 Ruby on Rails 中,执行 Rails 应用程序的流程应该是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39167340/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com