我正在创建一个网站,让人们可以在几个章节中阅读短篇小说。 为此,我在一个新的脚手架中嵌套了一个章节脚手架,并将它们(小说has_many:章节,章节属于:小说)联系在一起。 但是我试图在URL中获取章节的数字(而不是id,它永远不会减少)。按原样设置章节不是问题,但我想自动化章节号而不需要用户自己添加章节号。
为了做到这一点,我认为我所需要的只是通过检查self.class.where(:novel_id => @novel).count
来获得当前小说中有多少章。此时,我没有任何问题,但是当我尝试增加此数字时它变得复杂,我收到错误:undefined method 'anoter_one' for 0:Fixnum
这是我模型中的“another_one”函数(我试过一些东西)
def another_one
@number = self.class.where(:novel => @novel).count.to_i
@number.increment
end
这是控制器
def create
@novel = Novel.find(params[:novel_id])
@chapter = Chapter.new(chapter_params)
@chapter.chapter_number.another_one
@chapter.novel = @novel
if @chapter.save
redirect_to novel_chapter_path(@novel, @chapter), notice: 'Chapter was successfully created.'
else
render :new
end
end
我做错了什么?
提前谢谢
答案 0 :(得分:0)
您的来电function myFunc() {
document.getElementById("someid").submit();
}
- 这是anoter_one
的{{1}}错误拼写 - 而不是模型。
解决此问题的一种方法是使用association callback:
another
为了正确调用回调,您需要在父项之外构建关联项:
@chapter.chapter_number