2013-02-01 112 views
0

值的比較,我用這example for uploading files in Ruby on Rails. 我有一些問題上傳/ index.html.erbRuby on Rails的:在html.erb

我有這樣一些變量:
current_user.id - 用戶的ID現在如何在線
user_id - user_id在上傳表中,所以它就像一個外鍵一樣,爲一個用戶分配多個上傳文件。

所以,我只想列出那些上傳,其user_id對應於current_user.id。我嘗試做這行

((({%=file.user_id%}).to_i)==((<%=current_user.id%>).to_i)) 

不知怎的,這是行不通的,因爲上傳,其USER_ID不符合current_user.id,也列出了。

<script id="template-download" type="text/x-tmpl"> 

    {% for (var i=0, file; file=o.files[i]; i++) { %} 
    {% if ((({%=file.user_id%}).to_i)==((<%=current_user.id%>).to_i)){ %} 
    <tr class="template-download fade">  

     <td class="l"> 
     <a href="{%=file.url%}" download="{%=file.name%}">{%=file.user_id%}</a> 
     </td> 
     <td class="k"> 
     <a href="{%=file.url%}" download="{%=file.name%}"><%=current_user.id%></a> 
     </td> 


     <td class="name"> 
     <a href="{%=file.url%}" download="{%=file.name%}">{%=file.name%}</a> 
     </td> 

     <td class="delete"> 
     <button class="btn btn-mini btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}"> 
      <i class="icon-trash icon-white"></i> 

     </button> 
     <input type="checkbox" name="delete" value="1"> 
     </td> 



     <td></td> 


    </tr> 
{% } %} 


    {% } %} 
</script> 
+0

只上傳我不明白的語法。 for循環看起來像是一個javascript代碼,但是if會在{%}之外使用to_i,不管它是什麼。 – jvnill

+0

jeah。它是一個JavaScript +我試圖把一些紅寶石語法在oder做比較 – Tonja

+0

to_i是在紅寶石轉換爲整數,不是嗎? – Tonja

回答

1

您可以獲取在控制器水木清華上傳。像

@files = Upload.where(:user_id => current_user.id) 

,或者如果您User模型has_many :uploads可以使

@files = current_user.uploads 

然後在@files變量的觀點,你就必須對應於current_user

+0

我做了一點不同,但你has_many給了我一個好主意=)謝謝 – Tonja