のRails 5.1.1、ヘルパーにすべてのアプリ上で再利用されますビューピースをリファクタリングしようと ルビー2.2.5p319、 Carrierwave 1.1.0Carrierwaveのasset_pathは、レールのヘルパーで使用される未定義のメソッドになり
私は壁にぶつかっている。問題モデルには、イメージとイメージバックという2つのキャリアウェーブアップローダがあります。
def issue_image_display(issue, graphic, size, sizeinpx, lodge = nil)
if graphic
if graphic == "imageback"
link_to image_tag(issue.imageback_url(size)),
imageback_url(:full), rel: :lazybox
else
link_to image_tag(issue.image_url(size)),
image_url(:full), rel: :lazybox
end
else
image_tag(
"missing_flap.jpg",
alt: "No Flap Image for #{issue.combined}",
style: "width: #{sizeinpx}px"
)
end
end
これはされている:私は、私は(application_helper.rb
に)
ヘルパーメソッド(次のコードでgraphic
として渡された)ヒットしようとしている列を決定するために、メソッドに変数を渡しています次によって呼び出さ:
<ul class="issue-list" id="issues">
<div class="page">
<%# cache issue do %>
<%= render partial: "issues/issue_small",
collection: @issues,
as: :issue,
wishlist: false,
locals: {
size: :list,
sizeinpx: '200'
} %>
<%# end %>
</div>
</ul>
と実際のヘルパーメソッド呼び出し、反復処理されている部分:
<li class="issue-container">
<article class="issue">
<%= issue_image_display(issue, issue.image, size, sizeinpx) %>
<p class="lodge-name">
<%= link_to issue.combined, lodge_issue_path(issue.lodge, issue) %>
<span><%= issue.first_issue.stamp("1969") if issue.first_issue %> | (OA BBv6: <%= issue.oa_bb_combined %>)</span>
</p>
<% if :wishlist == true -%>
<p class="add-to-wishlist">
<%= link_to 'Add to Wishlist', wishlist_items_path(issue_id: issue.id), method: :post, class: "button button-small" %>
</p>
<% end -%>
</article>
</li>
を
エラーがある:
ActionView::Template::Error at /issues
undefined method `asset_path' for #<ImageUploader::Uploader70194310458580:0x007faec5409400>
コードのどの行にエラーが表示されますか? – Pavan
それは、部分を呼び出すファイルの行16として呼び出します。これは、他のものを含めて整理すると次のようになります。 '<%= render partial:" issues/issue_small "、' –