我在rails app中有这样的方法:
def current_user
return @current_user if @current_user.present?
@current_user = current_user_session && current_user_session.record
end
Run Code Online (Sandbox Code Playgroud)
我之前没有使用过这个.present?方法所以我进入了我的交互式ruby shell来玩它.
每当我使用xxx.present?它时,都会返回NoMethodError.无论xxx是字符串,数字,数组都无关紧要.
我该如何使用这种方法?
我创建了一个函数,它从一个 txt 文件中读取数据来创建一个表,进行一些数据操作,然后将结果放入一个矩阵中。这是结果示例:
Canada France Germany Italy Japan
1973 0.107843137 0.13583815 0.0684713376 0.19417476 0.231732777
1974 0.108407080 0.11704835 0.0596125186 0.17073171 0.116949153
1975 0.075848303 0.09567198 0.0436005626 0.16666667 0.095599393
1976 0.077922078 0.09563410 0.0363881402 0.19345238 0.081717452
1977 0.089500861 0.09108159 0.0273081925 0.12468828 0.042253521
Run Code Online (Sandbox Code Playgroud)
我想弄清楚如何在图表上绘制这些数据。我想将年份作为 x 轴,将通货膨胀率作为 y 轴。所以最后,我想要一张带有每个国家/地区的线条(不同颜色)的图表。
这是可能的吗?
任何帮助表示赞赏,谢谢。
def login_required
unless current_user
store_location
flash[:notice] = I18n.t('must_be_logged_in')
redirect_to new_user_session_path
return false
end
end
Run Code Online (Sandbox Code Playgroud)
我在rails应用程序中有这个方法.我的问题是该线何时return false运行?
它前面的那条线说redirect_to new_user_session_path.
def admin_required
return false if login_required == false
unless current_user.admin?
store_location
flash[:notice] = t('must_be_admin')
redirect_to new_user_session_url
return false
end
end
Run Code Online (Sandbox Code Playgroud)
为了澄清这个方法需要login_required == false(或者真实)..第一种方法将如何返回false?
我有一个JavaScript函数,它将一些input标记收集到一个数组中,然后决定是否已经选择了其中一个:
function validateAnswerSelected () {
var formValid = false;
var groupedInput = document.getElementsByName("choice");
var i;
// while (!formValid && i < questions[questionNumber].choices.length) {
// if (groupedInput[i].checked) {
// formValid = true;
// }
// i++;
// }
// for (i = 0; questions[questionNumber].choices.length; i++) {
// if (groupedInput[i].checked) {
// formValid = true;
// }
// }
if (!formValid) {
alert("select an answer");
}
}
Run Code Online (Sandbox Code Playgroud)
当我取消注释while循环时,该功能正常工作.但是当我取消注释时,for循环groupedInput变得不确定.
这有什么区别?
编辑:当我取消注释时,while我会初始化i变量.我在问题中犯的错误只是一个错字.