0

視覚障害者向けの Rails アプリケーションのセクションを作成しています。これには、音声リーダーを使用している人々がナビゲートしやすくするために、テキストとリンクのみを使用して作成する必要があります。既存のモデルのフィールドを使用して、link_to コマンドを動的に構築したいと考えています。ユーザーがクリックしたテキストを含むモデルのいくつかのフィールドと、リンクを含むモデルの別のフィールドを使用して変数を作成できるようにしたいと考えています。

これが私のコントローラーのコードです:

MediaLibrary.find(:all, conditions: ["media_type_id < ?", 3], limit: 5).each do |media_item|
  @audio_links["link_text"] = "Audio of #{MediaCreator.find(media_item.media_creator_id).name} #{media_item.media_created.to_time.strftime('%A, %B %d, %Y')} at #{media_item.meeting_time}
   #{media_item.am_pm} - #{media_item.name}" 
  @audio_links["link"] = media_item.link
end

これが私の見解のコードです:

<% @audio_links.each do |audio_link| %>
  <li>
    <%= link_to audio_link["link_text"], '#{audio_link["link"]}'  %>
  </li>
<% end %>

私も次のことを試しました:

<% @audio_links.each do |audio_link| %>
  <li>
    <%= link_to 'audio_link["link_text"]', '#{audio_link["link"]}'  %>
  </li>
<% end %>

この:

<% @audio_links.each do |audio_link| %>
  <li>
    <%= link_to '#{audio_link["link_text"]}', '#{audio_link["link"]}'  %>
  </li>
<% end %>

さらにいくつかのバリエーションを試しましたが、画面を表示しようとすると link_to コマンドで文字列を整数に変換できないというエラーが発生するか、次のようにテキストが表示されたリンクが表示されます。これが発生すると、リンクをクリックすると他のエラーが発生します。

#{audio_link["link_text"]}

Stack Overflow や Web 全体で多くの検索を行いました。これがどこでも行われている例は1つも見つかりませんでした。set_path コマンド (2010) があった古い投稿を見たことがありますが、最近の投稿には何もありません。html_safe を使用しました。前に、それを私のコードに追加します。自分のコードに問題があるのか​​、不可能なことを試みているのかわかりません。これが可能になることを心から願っています。これにより、音声読み上げ機能を使用しているユーザーがクリックした内容を簡単に知ることができるようになるからです。

これについての助けをいただければ幸いです。

4

1 に答える 1

0

一重引用符で文字列補間を行うことはできません。一重引用符を二重引用符に置き換えると、変数が適切に展開されます。

例えば:

<%= link_to audio_link["link_text"], "#{audio_link['link']}"  %>
于 2013-01-23T21:23:07.400 に答える