2016-04-26 22 views
0

我有一個支架名爲b_page我想創造另一列,所以我跑遷移:Rails的遷移 - 而不會出現在show.html.erb

rails g migration add_status_to_b_page status:string 

使遷移成功。用戶應該能夠更新他們的狀態,所以我把這個在_form.html.erb

<div class="field"> 
<%= f.label :status %><br> 
<%= f.text_field :status %> 
</div> 

成功,但後來我把它添加到show.html.erb

<%= @b_page.status %> 

但每次我做一個新的b_page或編輯當前的一個我沒有看到它show.html.erb

該代碼可在https://github.com/Hisaan-Anjum/friends

+0

狀態如果您打開欄杆控制檯和打印,你知道會有一個'b_page'填充了值的記錄?您可能顯示沒有分配狀態的記錄。另外,請確保該屬性已在您的控制器中列入白名單。 –

+0

您需要發佈更多的代碼才能幫助您。另外,你用ruby-on-rails-3標記了這個是否正確?我的答案是香草鐵軌-4。 – Felix

+0

您是否運行了遷移(例如'rake db:migrate'),還是隻創建它? – ConnorCMcKee

回答

2

沒有看到你的代碼我猜你必須將你的BPageController中的新參數(狀態)列入白名單(在底部,像def bh_pages_params)。

您可以檢查日誌控制器中的參數(通過表單)是否實際到達數據(ActiveRecord模型),這種白名單方法(稱爲Strong Parameters)適用於安全地保護您的數據。

+0

thx我修正了我的問題我忘了在params中添加狀態.require(:b_page).permit(:Bpage_name,:banner_img,:profile_img,:status)在我的控制器中 –

+0

太棒了!然後請「關閉」問題,例如通過提供和接受你自己的答案或編輯/接受我的。謝謝。 – Felix

0

THX我固定我的問題,我忘了添加在

params.require(:b_page).permit(:Bpage_name, :banner_img, :profile_img, :status) in my controller