2013-08-30 20 views
1

的Rails 4.0 紅寶石2.0的Rails的link_to鏈接填寫表單頁面上

我試圖創建填寫一個文本字段數據的當前頁面,我已經有一個鏈接。

這裏是我的視圖代碼(即不工作)

<% if feed_item.in_reply_to %> 
<%= link_to "reply", mentions_path(:content => "@#{feed_item.user.username}") %> 
<% end %> 

所有我想要的是進入一個名爲micropost_content

任何幫助或textarea的東西是會指出@#{feed_item.user.username}我在正確的方向將是巨大的

--C

ED IT:

似乎每個人都與@混淆......我把@,因爲我希望它在頁面上顯示爲

@usernmae

既然username存儲在DB中爲username

這不是因爲我試圖插入一個「實例變量」 :-)

不能在此使用JavaScript來實現?

這更好的解釋它:

enter image description here

+0

我瘦k當你在ruby中進行字符串操作時,你不需要附加@符號。所有你必須做的我們mentions_path(:content =>「#{feed_item.user.username}」)。讓我知道如果這個工程我會張貼它作爲一個答案 – Raghu

+0

這並沒有工作 –

+0

你可以檢查鏈接是否實際解析用戶名?可能是它被解決爲null或類似 – Raghu

回答

2

物聯網領域的價值上(以防萬一):

  • 檢查mentions_path是路由到正確的控制器和行動,你想要的地方E型
  • 請從評估字符串@並檢查控制器的params[:content]值,它應該,如果你在視圖中使用form_for幫手包含正確的用戶名
    • 那麼內容分配給該模型的相應字段,你正在構建的形式爲
  • 其他
    • 的內容分配給像一個實例變量3210然後用text_area_tag :field_name, @username

好吧,如果你需要在同一頁上只是做一些像

$(document).ready -> 
    $("#reply_link_id").click -> 
    username = $('#username_link_id').html() 
    $('#textarea_id').val(username).focus() 
    return false 
+0

感謝您的時間。我添加了一個更新,以更好地說明我在尋找什麼 –

0

新的頁面,您可以檢查是否要傳遞存在和值添加到您想要填充

+0

即使它位於同一頁面上,它也能正常工作嗎? –

2

我得到了我被這樣

<%= link_to "reply", '#', :onclick => "document.getElementById('micropost_content').value='@#{feed_item.user.username} ';return false;" %> 
尋找行爲

雖然現在我正在尋找一種方法把光標放在那裏

+0

看起來更高 - 將focus()添加到我的答案中 – Almaron