我是编码和Rails的新手。我已经完成了迈克尔哈特尔的Rails教程,但我仍然非常原始。我希望有人可以向我解释这一点或指向我的资源。我的谷歌技能让我失望。
当用户登陆我的主页时,我正在为他们生成随机密码。但是如果他们想要生成一个新密码,我想为他们提供一些选择。我开始大写一个随机字母。
<%= form_tag(root_path, method: 'get') do %>
<%= check_box_tag(:random_capital) %>
<%= label_tag(:random_capital, "Capitalize a random letter") %>
<%= submit_tag("Generate a new password") %>
<% end %>
我在我的主页上有以上表格,当我勾选复选框时,我确实设法通过实例变量获得值1,并且可以将该值与新密码一起显示回我的主页
但是我的控制器动作中的这段代码永远不会触发
if @randomness == 1
random_capital words
end
所以我在提交表单时会收到一个新密码,但不会随机提供资金。
我哪里错了?
答案 0 :(得分:0)
您需要检查params[:random_capital]
,而不是@randomness
。我还建议将这个逻辑移到一个单独的控制器上。
答案 1 :(得分:0)
原来错误在以下代码中
if @randomness == 1
我没有意识到params [:random_capital]的值是一个字符串,而不是一个整数。
if @randomness == '1'
修好了。