首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >资源类型错误生成的RefineryCms引擎

资源类型错误生成的RefineryCms引擎
EN

Stack Overflow用户
提问于 2014-04-02 11:05:35
回答 1查看 320关注 0票数 1

我是RefineryCMS和Rails的初学者。我做了我的RefineryCMS应用程序,我试图生成我的引擎,如指南所述。我正在运行这个命令:

代码语言:javascript
复制
rails g refinery:engine article title:string reference:string file:resource

在我进入Admin部分的视图中,没有任何按钮可供浏览,也没有任何文件资源所期望的按钮,只有一个框来介绍文本。这是表格的一部分:

代码语言:javascript
复制
  <div class='field'>
    <%= f.label :file_id -%>
    <%= f.text_field :file_id -%>
  </div>

我必须更改引擎中的gemspec文件,正如前面提到的RefineryCMS Engines Error: did not have a valid gemspec

这是我的宝石档案的一部分:

代码语言:javascript
复制
ruby '2.1.1'
gem 'rails', '3.2.17'
gem 'pg'
# Refinery CMS
gem 'refinerycms', '~> 2.1.0'

# Optionally, specify additional Refinery CMS Extensions here:
gem 'refinerycms-acts-as-indexed', '~> 1.0.0'

# Refinery's news engine allows you to post updates to the news section of your website.
gem 'refinerycms-news', '~> 2.1.0'
gem 'refinerycms-articles', :path => 'vendor/extensions'

我用的是Ubuntu 13.10

这是个窃听器还是我做错了什么?如何获得一个按钮来浏览该文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-09 18:34:23

好的,我已经想出了解决这个问题的方法,多亏了另一个等式:https://english.stackexchange.com/questions/11481

问题是生成器没有创建正确的视图和模型。你得用手做这个修改。

_form.html.erb:视图中的第一个

代码语言:javascript
复制
<div class='field'>
    <%= f.label :file_id -%>
    <%= render :partial => "/refinery/admin/resource_picker", :locals =>
    {
          :f => f,
          :field => :file_id,
          :resource => @article.file} %>
</div>

现在将这一行添加到模型article.rb中。

代码语言:javascript
复制
belongs_to :file, :class_name=>'Resource'

当然,您也必须修改显示视图。例如:

代码语言:javascript
复制
  <section>
    <h1>File</h1>
    <p>
      <%= link_to("Download", @article.file.url) if @article.file %>
    </p>
  </section>

如果生成器能自动完成这一切,那就太好了,但是这样你就可以让它正常工作了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22809447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档