2016-04-30 3 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

T1; drrails_autolink gemauto_linkビューヘルパーを使用してください。

  1. ユーザーはアンソニーが示唆するように、その後HTMLとしてレンダリングすることができ、有効なHTMLリンクを入力することがあります。


    長い答えあなたは基本的に2つのオプションがあります。マークダウンやwysiwygエディタを使用することで、これを簡単にすることができます。

  2. ユーザーはテキストにURLを入力するだけで、テキストを解析してすべてのURLをHTMLリンクに置き換える必要があります。

個人的には、オプション2を使用します。特に、rails_autolink gemでは非常に簡単です。フォームをそのまま残すことができます。そして、あなたがして、後にユーザの入力を印刷されるために持っているすべて:

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

auto_linkは、すべてのリンクの世話をします。

+0

ありがとう!出来た。私はその宝石をインストールする必要があった。 –

0

あなたはvariable_name内のテキストをHTMLとして解釈してレンダリングできるようにするためvariable_name.html_safeを使用することができます。 variable_nameがユーザー生成のコンテンツから派生している場合は、慎重に行うようにしてください。

+0

views/parties/show.html.erb '@ party.description.html_safe'は動作しません。まだクリックできません。 –

関連する問題