如何将动态生成的API内容从视图保存到SQLite3数据库?

时间:2013-12-05 03:05:42

标签: ruby-on-rails ruby model-view-controller sqlite ruby-on-rails-4

我有一个应用程序,用户可以按艺术家搜索相册。我的搜索对iTunes进行了API调用,我将前25个结果显示为一个简单的表格:

<table>
  <thead>
    <tr>
      <th>Artist</th>
      <th>Album</th>
      <th>Genre</th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <% @search_results.each do |album| %>
      <tr>
        <td><%= album['artistName'] %></td>
        <td><%= album['collectionName'] %></td>
        <td><%= album['primaryGenreName'] %></td>
        <td><%= link_to "Add to Library", albums_url, method: 'post' %></td>
      </tr>
    <% end %>
  </tbody>
</table>

在最后一栏中,我希望有一个用户可以单击的按钮,该按钮会将该行(特定专辑)保存到数据库中。我只会将列出的三列保存到数据库中。

我在弄清楚我自己的页面并保存这些对象背后的逻辑时遇到了一些麻烦,以及它在我的控制器中是如何工作的。作为参考,我在开发中使用了一个简单的Rails 4应用程序。

1 个答案:

答案 0 :(得分:0)

死最简单这样做的方式,没有JavaScript等,就是建立一个链接

= link_to 'Save', albums_url({ :album => { :artist_name => album['artistName'], :collection_name => album['collectionName'], :primary_genre_name => album['primaryGenreName'] }) , method: 'post'

其中albums_url(hash_argument)的哈希参数是相册的参数。