2016-04-30 52 views
1

和用户可以把党的描述。 此外,用户可以输入任何链接作为描述。我如何允许用户将网站链接放入text_area并显示可在Rails 4中单击的链接?

但是,用户保存后,他所键入的链接不可点击。 我必须复制链接地址并粘贴到浏览器才能访问网站。

下面是views/parties/_form.html.erb

<%= form_for(@party, multipart: true) do |f| %> 
    <div id="error_explanation"> 
     <ul><%= @party.errors.full_messages.first if @party.errors.any? %></ul> 
    </div> 

    <div class="field"> 
    <%= f.label :title %><br> 
    <%= f.text_field :title, :class => "form-control", placeholder: 'Type title' %> 
    </div> 

    <div class="field"> 
    <%= f.label :location %><br> 
    <%= f.text_field :location, :class => "form-control", placeholder: 'Type location' %> 
    </div> 

    <div class="field"> 
    <div class="form-group"> 
     <label>time</label> 
     <%= f.datetime_select :time %> 
    </div> 
    </div> 

    <div class="field"> 
    <%= f.label :description %><br> 
    <a style="text-decoration:none;" title="Suggest!" data-toggle="popover" data-trigger="hover" data-placement="top" data-content="Ticket? Any Link? Tell me more!"><%= f.text_area :description, :class => "form-control", :rows => "3" %></a> 
    </div> 

    <div class="field"> 
     <%= f.label :image %><br> 
     <%= f.file_field :image %> 
    </div> 
    <p> 
    </p> 
    <div class="actions"> 
    <%= f.submit "Let's post it", :class => "btn btn-primary", :id => "load", 'data-loading-text' => "Uploading...".html_safe %> 
    </div> 
    <p> 
    </p> 
<% end %> 

我怎样才能链接转换为可点击的链接,如果用户输入什么联系呢?何时显示其描述?

For example, if a user typed, 
"Hi we have party tomorrow at 12:00 pm. 
Also more information is at www.facebook.com/samplepartybrabrabra 
ticket is $5 per person." 

回答

0

文艺青年最爱的使用从rails_autolink gemauto_link视图助手。


长的答案你基本上有两种选择:

  1. 用户必须输入安东尼暗示然后可以呈现为HTML有效的HTML链接。您可以通过使用markdown或wysiwyg编辑器让用户更容易。

  2. 你让用户在文本中只输入一个URL(这就是你现在正在做的),你必须解析文本并用HTML链接替换每个URL。

就我个人而言,我会选择#2,特别是因为它很容易与rails_autolink gem。您可以保持原样。和所有你需要的就是后来与打印用户输入:

<div class="party-description"> 
 
    <%= auto_link(@party.description) %> 
 
</div>

auto_link将采取所有环节的照顾。

+0

谢谢!有效。我需要安装那颗宝石。 –

0

您可以使用variable_name.html_safe,使文本在variable_name来解释和呈现为HTML。如果variable_name源自用户生成的内容,请务必谨慎操作。

+0

in views/parties/show.html.erb '@ party.description.html_safe' not working .. still not clickable。 –

相关问题