轨道上的部分视图不可见

时间:2017-02-05 15:03:51

标签: ruby-on-rails

我开始使用rails上的部分内容,在HTML文件中使用<%= render“Name_of_the_view”%> ,但由于某种原因,部分视图不会显示。

找到partial但没有渲染,所以我得到的是主视图中的h1标题。

已经检查过拼写,设置和所有类型的东西,但不知道出了什么问题。

这是代码:

主HTML文件:

<div class="container">
   <h1>Create article</h1>

   <%= render "form" %>
</div>

_form 包含我要渲染的局部视图的文件(它位于主HTML文件所在的同一文件夹中):

<%= form_for @article do |f|%>

      <% @article.errors.full_messages.each do |message| %>
         <div class="card-panel red">
            <span class="white-text"><%= message %></span>
         </div>
      <% end %>

      <div class="form-group">
         <label for="title" class="active">Title</label>
         <%=f.text_field :title, class:"form-control"%>

      </div>
      <div class="form-group">
         <label for="body" class="active">Body</label>
         <%=f.text_area :body, class:"form-control", style:"height:250px"%>
      </div>
         <%=f.submit "Submit", :class=>"btn btn-primary"%>
   </div>
<%end%>

这是控制器:

class ArticlesController < ApplicationController
def index
    @articles = Article.all
end

def show
    @article = Article.find(params[:id])
end

def new
    @article = Article.new
end

def create
    @article = Article.new(article_params)
    if @article.save
        redirect_to @article
    else
        render :new
    end
end

private

    def article_params
        params.require(:article).permit(:title,:body)
    end
end

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果使用rails命令生成新的脚手架会发生什么?

rails g scaffold YourScaffolds mystring:string 

如果检查路径

yourscaffolds/new 

你能看到渲染的形式吗?如果这是一般性问题,我无法帮助你。如果您可以看到标准脚手架的部分,那么代码中必定存在错误。

除非您从RoR收到错误消息,否则通常会找到您的部分内容。上面的代码看起来很好。但是,您需要确保partial与视图模板位于同一文件夹中。

所以对你来说可能是

/articles/new.html.erb /articles/_form.html.erb

确保您拨打<%= render "form" %>的文件的扩展名为.erb。祝你好运!

你能发布你的控制器方法吗?你在使用默认支架吗? 你能看到模板的内容而只缺少部分吗?

语法如下:

render "products/show"

render template: "products/show"

确保你有ruby标识符。     &lt;%=%&gt; 比应该绝对没有理由为什么部分不渲染。检查您的代码是否有任何拼写错误。部分应始终以得分_

开头