我是非常基本的Rails,我嘗試從URL中保存圖像,搜索後發現我已安裝了Carrierwave gem。但我不知道如何繼續。我也使用Backbone(我也很基本)。使用Carrierwave從URL保存圖像
到目前爲止,我創建了一個應用程序,用戶可以在輸入字段中輸入電影名稱,然後顯示結果列表。
我moviesearch觀點,
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視圖呈現海中的moviesearch視圖rchresult模板
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 %>
這一切都是骨幹。以下步驟是存儲數據。 addEntry
函數將變量movie_title
保存到我的Rails模型中。
addEntry: (e) ->
movie_title = $(e.target).parent().find('.movie-title').text()
@collection.create title: movie_title
此函數查找在此模板的.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 %>
我有一個名爲movies_controller
Rails控制器。這有以下定義創建
def create
@movie = Movie.new(movie_params)
@user = current_user
user_id = @user[:id]
@movie[:user_id] = user_id
respond_to do |format|
if @movie.save
format.html { redirect_to @movie, notice: 'Movie was successfully created.' }
format.json { render json: @movie, status: :created, location: @movie }
else
format.html { render action: "new" }
format.json { render json: @movie.errors, status: :unprocessable_entity }
end
end
end
正如你可以看到我有一個<img src="http://image.tmdb.org/t/p/w500/<%= movie.get('poster_path')%>"></img>
這是我想在我的Rails模型保存圖像。
我該如何從這裏出發?我發現以下post和驗證碼,
uploader = ImageUploader.new
uploader.download! some_remote_url
uploader.store!
但在該職位沒有發佈,所以我不知道如何實現我的這個項目代碼文檔。另外我查看了Git頁面上的文檔,但是我發現很難找到我需要做的事情。從遙遠而明亮的網址
該文檔實際上是[非常好](https://github.com/carrierwaveuploader/carrierwave) – 2014-10-30 14:17:49
更新了問題以便更好地理解。 – 2014-10-30 14:22:34
你有沒有在你的'電影'模型中定義和安裝上傳器? – 2014-10-30 14:32:38