Rails 4.0 Ruby 2.0
我正在尝试使用我已有的数据创建一个用当前页面填充textarea字段的链接。
这是我的视图代码(不起作用)
<% if feed_item.in_reply_to %>
<%= link_to "reply", mentions_path(:content => "@#{feed_item.user.username}") %>
<% end %>
我想要的只是@#{feed_item.user.username}
被输入名为micropost_content
任何有助于我指向正确方向的帮助或其他事情都会很棒
- Visual C
编辑:
每个人似乎都对@感到困惑......我正在把@放在@页面上,因为我希望它在页面上显示为
@usernmae
由于用户名在数据库中存储为username
。
这不是因为我试图插入“实例变量”: - )
不能用Javascript完成吗?
这更好地解释了它:
答案 0 :(得分:2)
要做的事情和检查(以防万一):
mentions_path
是否路由到正确的控制器和操作,您需要表单@
并检查控制器中的params[:content]
值,它应包含正确的用户名form_for
帮助器
@username
等实例变量,然后使用text_area_tag :field_name, @username
好的,如果您需要在同一页面上执行此操作,请执行
之类的操作$(document).ready ->
$("#reply_link_id").click ->
username = $('#username_link_id').html()
$('#textarea_id').val(username).focus()
return false
答案 1 :(得分:2)
我通过这样做得到了我正在寻找的行为
<%= link_to "reply", '#', :onclick => "document.getElementById('micropost_content').value='@#{feed_item.user.username} ';return false;" %>
虽然现在我正在寻找一种方法将光标放在那里
答案 2 :(得分:0)
在新页面上,您可以检查传递的值是否存在并添加到要填充的字段的值