在 Rails 上的 Ruby 中,执行 rails 应用程序的流程应该是什么
In Ruby on Rails what should be the flow for executing rails application
我是 Ruby Rails 的新人,我对 Ruby rails 的申请有点困惑。我已经做了所有这些事情。
routes.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 查找与控制器方法同名的视图。从 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 关于渲染布局和局部的内容。
零错误表示活动记录调用 OfferLetter.all 失败。您是否设置了 d/b table、运行 迁移等?在 rails 控制台中尝试 运行 执行该命令,看看会得到什么。
我是 Ruby Rails 的新人,我对 Ruby rails 的申请有点困惑。我已经做了所有这些事情。
routes.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 查找与控制器方法同名的视图。从 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 关于渲染布局和局部的内容。
零错误表示活动记录调用 OfferLetter.all 失败。您是否设置了 d/b table、运行 迁移等?在 rails 控制台中尝试 运行 执行该命令,看看会得到什么。