Javascript 使用Carrierwave从URL保存图像
我对Rails非常基本,我正在尝试从URL保存一个图像,在谷歌搜索之后,我找到了我安装的Carrierwave gem。但我不知道该怎么做。我也在使用主干网(我也非常基本) 到目前为止,我已经创建了一个应用程序,用户可以在inputfield中键入moviename,然后显示结果列表 我的电影研究观点Javascript 使用Carrierwave从URL保存图像,javascript,ruby-on-rails,ruby,backbone.js,carrierwave,Javascript,Ruby On Rails,Ruby,Backbone.js,Carrierwave,我对Rails非常基本,我正在尝试从URL保存一个图像,在谷歌搜索之后,我找到了我安装的Carrierwave gem。但我不知道该怎么做。我也在使用主干网(我也非常基本) 到目前为止,我已经创建了一个应用程序,用户可以在inputfield中键入moviename,然后显示结果列表 我的电影研究观点 events: "keyup input": "doSearch" doSearch: (e) -> @collection.setQuery $(e.currentTarget)
events:
"keyup input": "doSearch"
doSearch: (e) ->
@collection.setQuery $(e.currentTarget).val()
@collection.fetch()
$('.autocomplete-results').show()
当启动doSearch
函数时,它将进入moviesearch集合
class Movieseat.Collections.Moviesearch extends Backbone.Collection
url: -> "http://api.themoviedb.org/3/search/movie?api_key=a8f7039633f2065942cd8a28d7cadad4&query=#{@query}"
setQuery: (q) ->
@query = q
return
parse: (response) ->
return response.results
这将生成一个JSON文件,如下所示
http://api.themoviedb.org/3/search/movie?api_key=a8f7039633f2065942cd8a28d7cadad4&query=star%20war
然后,我的searchresult视图在searchresult模板中呈现moviesearch视图
template: JST['movieseats/searchresult']
initialize: ->
@collection.on('add', @render, this)
return
render: ->
$(@el).html(@template(movie: @collection))
this
搜索结果模板
<% for movie in @movie.models : %>
<li>
<img src="http://image.tmdb.org/t/p/w500/<%= movie.get('poster_path')%>"></img>
<span class="movie-title"><%= movie.get('title') %></span>
<p class="releaste_date"><%= movie.get('release_date') %></p>
<p class="addmovie">Add movie</p>
</li>
<% end %>
<% for movie in @movie.models : %>
<li>
<img src="http://image.tmdb.org/t/p/w500/<%= movie.get('poster_path')%>"></img>
<span class="movie-title"><%= movie.get('title') %></span>
<p class="releaste_date"><%= movie.get('release_date') %></p>
<p class="addmovie">Add movie</p>
</li>
<% end %>
此函数用于在此模板中查找.movie title
中的文本
<% for movie in @movie.models : %>
<li>
<img src="http://image.tmdb.org/t/p/w500/<%= movie.get('poster_path')%>"></img>
<span class="movie-title"><%= movie.get('title') %></span>
<p class="releaste_date"><%= movie.get('release_date') %></p>
<p class="addmovie">Add movie</p>
</li>
<% end %>
<% for movie in @movie.models : %>
<li>
<img src="http://image.tmdb.org/t/p/w500/<%= movie.get('poster_path')%>"></img>
<span class="movie-title"><%= movie.get('title') %></span>
<p class="releaste_date"><%= movie.get('release_date') %></p>
<p class="addmovie">Add movie</p>
</li>
<% end %>
如您所见,我有一个“>
这是我想保存在Rails模型中的图像
addEntry: (e) ->
movie_title = $(e.target).parent().find('.movie-title').text()
@collection.create title: movie_title
我如何从这里开始?我找到了以下代码
uploader = ImageUploader.new
uploader.download! some_remote_url
uploader.store!
但是在那篇文章中没有发布文档,所以我不知道如何在我的项目中实现这段代码。我也查看了Git页面上的文档,但我发现很难找到我需要做的事情。从远程URL加载图像非常简单
看看这个
MODEL.remote\u image\u url='http:…jpg'
<%= form_for @painting, :html => {:multipart => true} do |f| %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.file_field :image %>
</p>
<p>
<%= f.label :remote_image_url, "or image URL" %>
<%= f.text_field :remote_image_url %>
</p>
<p><%= f.submit %></p>
<% end %>
{:multipart=>true}do | f |%>
假设这是要承载的映像的路径
"http://image.tmdb.org/t/p/w500/<%= movie.get('poster_path')%>"
文档实际上是为了更好地理解问题而更新的。您是否在
电影
模型上定义并安装了上载程序?好的,请阅读更多内容。找到[此]))这很有帮助。重新观看了RailsCast,我对它有了更多的了解。但我仍然不知道如何从DOM中获取图像。如何获取此”http://image.tmdb.org/t/p/w500/“
什么是move.get('poster\u path')你可以吗?你可以将这部分类添加到你的问题中吗?在本例中,用户可以在文本字段中输入图像的url?我正在寻找一种方法,使图像在DOM中完全就绪。好的。我想我就快到了。我需要在呈现图像url路径的模板文件中创建对远程图像\u url
的引用吗假设是这样。但那会是什么样子呢?我想我可以用图像的值和标签创建一个不可见的输入字段。但我认为这不是方法。