2013-08-30 19 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