[Rails] Controller -- Ex
SHOW ACTION
app/controllers/zombies_controller.rb
Create the show
action for the ZombiesController which finds a Zombie
based onparams[:id]
. Store the Zombie
object to an instance variable named @zombie
.
<h1><%= @zombie.name %></h1>
Answer:
class ZombiesController < ApplicationController def show # put the show code here @zombie = Zombie.find(params[:id]) end end
RESPOND TO
Finish the respond_to
block so the action returns the XML
of the @zombie
record
class ZombiesController < ApplicationController def show @zombie = Zombie.find(params[:id]) respond_to do |format| format.html format.xml{render xml: @zombie} end end end
CONTROLLER CREATE ACTION
Write a create
action that will create a new Zombie
from the params and then redirect to the created Zombie
's show page. Make sure to use Rails 4 strong_parameters.
# params = {zombie: {name: 'Gregg', graveyard: 'TBA'}}
Answer:
class ZombiesController < ApplicationController def create @zombie = Zombie.create(zombie_params) redirect_to zombie_path(@zombie) end private def zombie_params params.required(:zombie).permit(:name, :graveyard) end end
CONTROLLER BEFORE ACTION
Add a before_action
that calls a method to check if a Zombie
has tweets. Redirect tozombies_path
if the zombie doesn't have tweets, only on show.
class ZombiesController < ApplicationController before_action :find_zombie before_action :check_tweets, only: :show def check_tweets if @zombie.tweets.size == 0 redirect_to zombies_path end end def show render action: :show end def find_zombie @zombie = Zombie.find params[:id] end end
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具