2011-04-05 74 views
0

這是我的Ruby代碼:simple_form爲什麼不創建我的字段並創建隱藏的字段呢?

<%= simple_form_for([@video, @video.comments.new]) do |f| %> 
    <% f.association :comment_title %> 
    <% f.input :body %> 
    <% f.button :submit %> 
<% end %> 

這是生成的HTML標記:正確的身體輸入字段和協會選擇列表:

<form accept-charset="UTF-8" action="/videos/485/comments" class="simple_form comment" id="new_comment" method="post"> 
    <div style="margin:0;padding:0;display:inline"> 
     <input name="utf8" type="hidden" value="✓"> 
     <input name="authenticity_token" type="hidden" value="55xSU8JUe1SgipjAkAEvCvidFdJY3hv8Qz5VBqUSrdE="> 
    </div> 
    <input class="button" id="comment_submit" name="commit" type="submit" value="Create Comment"> 
</form> 

顯然,這不是創造。爲什麼會這樣,我該如何解決它?

順便說一句,視頻有很多評論,評論屬於視頻。另外,comment_title有很多評論,評論屬於一個視頻。 Comment_title是使用虛擬屬性生成的。

請讓我知道是否有任何其他代碼,你想看到。

+0

更新的標題,以更好地反映身體 – 2014-07-21 16:26:33

回答

3

這兩者都是因爲您的rails應用程序中的選擇。首先,您已選擇將應用程序配置爲使用utf8進行字符編碼。第二是因爲默認情況下應用程序設置爲防止跨站點請求僞造攻擊。真實性標記可確保用戶提交表單時返回給服務器的響應實際上來自您,而不是其他來源,只是查看您的流量併發送給您的數據庫。

+0

ahh好的,請你提供有關解決這兩個問題的潛在選擇的信息? – 2011-04-05 04:43:33

+0

它們都不是你想要解決的問題。有沒有理由不希望他們在那裏?您可以關閉對跨網站僞造請求的保護,但我不確定您爲什麼要這麼做。 – 2011-04-05 06:39:18

2

好,所以問題是我需要在我的表單元素中添加「=」到<%=。

+0

接受這個答案。 – henrebotha 2016-09-12 11:35:09

相關問題