Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在呈现局部对象时发送实例变量_Ruby On Rails_Ruby On Rails 3_Forms_Rendering - Fatal编程技术网

Ruby on rails 如何在呈现局部对象时发送实例变量

Ruby on rails 如何在呈现局部对象时发送实例变量,ruby-on-rails,ruby-on-rails-3,forms,rendering,Ruby On Rails,Ruby On Rails 3,Forms,Rendering,如果我的模型无效,我希望渲染操作 render“book\u page” 但是现在当我点击提交按钮时,@每晚的价格和@每晚的数量都是零。如何预防 我试图将此表单移动到“部分”,但现在发生了,因为我无法仅渲染“部分”。还是我错了?使用render不会使Rails调用控制器中的相关方法book\u page。它直接进入book_page.html.erb,在这一点上,没有任何方法设置您的实例变量,使它们显示为nil您所说的“@prices\u per\u night和@number\u of\u

如果我的模型无效,我希望渲染操作

render“book\u page”

但是现在当我点击提交按钮时,
@每晚的价格
@每晚的数量
都是零。如何预防


我试图将此表单移动到“部分”,但现在发生了,因为我无法仅渲染“部分”。还是我错了?

使用
render
不会使Rails调用控制器中的相关方法
book\u page
。它直接进入
book_page.html.erb
,在这一点上,没有任何方法设置您的实例变量,使它们显示为
nil

您所说的“
@prices\u per\u night
@number\u of\u night
为零”是什么意思?如何防止这种情况发生,您是否试图将其设置为全局变量?我认为您可能会混淆变量的含义,请查看它们的定义,您的标题是否应为“呈现部分时如何发送实例变量”?对不起,您是对的,刚刚更改了标题OK,那么,我应该使用哪种方法来代替render呢?我认为在调用render之前,没有任何东西可以阻止您显式地调用book_页面。也许您应该在某个适当的助手方法中同时执行这两项操作(或设置实例变量并调用render)。