[英]wrong number of arguments (0 for 1) Rails error
我下面的此方法有一個錯誤
def mymethod
cat = Cat.find_by_cat_id_and_animal_id_and_name(catid, haustierid, cat_name)
if cat.name.nil?
if cat.name == "beauty"
#doworkhere
end
end
end
問題是,我有一個貓表,其中有一列名稱。 貓名內的地方有不同的行包含名字(“ beauty”,“ ugly”等)。 我試圖基本上在cat表中循環,進入各行,檢查是否有“ beauty”,然后做點什么。 但是,它返回我輸入了錯誤的參數。 我無法理解錯誤的參數,這是進入“貓名列”內部循環的正確方法嗎?謝謝您的回答。
我認為您的查找查詢應該是:
cat = Cat.find_by_id_and_animal_id_and_name(catid, haustierid, cat_name)
並不是
cat = Cat.find_by_cat_id_and_animal_id_and_name(catid, haustierid, cat_name)
謝謝....
您的代碼中有幾個錯誤,但是沒有人可以解釋收到的錯誤消息。 您可能需要在if
內發布代碼。
同時,讓我展示一些問題
cat = Cat.find_by_cat_id_and_animal_id_and_name(catid, haustierid, cat_name)
你可能是說
cat = Cat.find_by_id_and_animal_id_and_name(catid, haustierid, cat_name)
另外,您可能要使用范圍(如果使用Rails 2,則要使用命名范圍)
if cat.name.nil?
if cat.name == "beauty"
#doworkhere
我永遠不會進入第二個if
。 名稱不能同時為nil和字符串。 另外,假設您想說!nil? 您可以通過以下方式更簡潔地編寫它
if !cat.name.nil? && cat.name == "beauty"
#doworkhere
或簡單地
if cat.name == "beauty"
#doworkhere
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.