问题描述
我是编程新手,我正在尝试使用 ROR 构建一个简单的猜谜游戏,但我被卡住了。 用户始终插入输入(@question)@computer_choice 更改......我该如何解决这个问题?我尝试了一个 while 循环,但它没有用(或者我可能只是做错了 tbh)。 另外我知道我的代码看起来不太漂亮,所以如果你有任何关于如何重构的提示,那就太好了!非常感谢能帮助我的人!
这是我的 html.erb 文件...
<div class="container">
<h1>GUESS WHO</h1>
<% @characters.each do |character| %>
<div>
<img src="<%= character.img_url %>" class="avatar" alt="image of character">
<%= character.name %>
</div>
<% end %>
<form action="characters">
<input type="" placeholder="ask your question" name="user_input">
<% if @question == "Hi" %>
<h1>Let's play</h1>
<% elsif @computer_choice[:sex].downcase.include?(@question) %>
<h1>yes</h1> <h1><%= @computer_choice.name %></h1>
<% elsif @computer_choice[:eyes].downcase.include?(@question) %>
<h1>yes</h1> <h1><%= @computer_choice.name %></h1>
<% elsif @computer_choice[:hair].downcase.include?(@question) %>
<h1>yes</h1> <h1><%= @computer_choice.name %></h1>
<% elsif @computer_choice[:characteristcs].downcase.include?(@question) %>
<h1>yes</h1> <h1><%= @computer_choice.name %></h1>
<% elsif @computer_choice[:name].downcase.include?(@question) %>
<h1>Correct! Let's play again!</h1>
<% else %>
<h1>no</h1> <h1><%= @computer_choice.name %></h1>
<% end %>
</div>
还有我的控制器...
class CharactersController < ApplicationController
def index
@characters = Character.all
@computer_choice = @characters.sample
@questions_left = 2
unless params[:user_input].present?
@question = "Hi"
else
@question = params[:user_input].downcase
end
end
def new
@character = Character.new
end
def create
@character = Character.new(character_params)
if @character.save!
redirect_to characters_path
else
render :new
end
end
def character_params
params.require(:character).permit(:name,:hair,:eyes,:img_url,:characteristcs,:sex)
end
end
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)