2012-07-29 58 views
0

我想在我的模型無效時呈現動作。如何在呈現局部時發送實例變量

render "book_page"

https://gist.github.com/f7259eb79d1f2c951036

但是現在@prices_per_night@number_of_nights是零當我點擊提交按鈕。如何防止這一點?

我試圖將這種形式移動到部分,但它現在發生,因爲我不能渲染僅部分。還是我錯了?

+0

「@price_per_night」和「@ number_of_nights」是什麼意思爲零,如何防止這種情況?這是如何相關的,你是否試圖將這些設置爲全局變量? – rudolph9 2012-07-29 12:27:06

+0

我認爲你可能會混淆引用變量的內容,請檢查他們的定義[這裏](http://www.rubyist.net/~slagell/ruby/variables.html),如果你的標題是「如何發送渲染_partial_時的_instance_變量「? – rudolph9 2012-07-29 12:30:21

+0

對不起,你是對的,只是改了標題 – tomekfranek 2012-07-29 12:47:55

回答

1

使用render確實不是使Rails在控制器中調用相關方法book_page。它直接進行到book_page.html.erb,此時,沒有方法設置實例變量,因此它們出現nil

+0

好的,那麼我應該使用哪種方法而不是渲染? – tomekfranek 2012-07-29 12:51:02

+0

我不認爲任何東西會阻止你在調用render之前明確調用book_page。也許你應該在一些適當的幫助器方法中同時執行(或設置實例變量和調用渲染)。 – oseiskar 2012-07-29 13:02:17

相關問題