Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 不呈现部分的Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby 不呈现部分的Rails

Ruby 不呈现部分的Rails,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,我的模型拥有可以创建项目的用户。我试图在我的用户控制器的show操作中渲染一个部分 <% if current_user %> <%= render(:partial => "projects/new_project") %> <% end %> 这是我当前用户的助手方法 def current_user @current_user ||= User.find(session[:user_id]) if session[:user_id]

我的模型拥有可以创建项目的用户。我试图在我的用户控制器的show操作中渲染一个部分

<% if current_user %>
  <%= render(:partial => "projects/new_project") %>
<% end %>
这是我当前用户的助手方法

def current_user
    @current_user ||= User.find(session[:user_id]) if session[:user_id]
end

helper_method :current_user
这是新项目的局部视图

<div class="row">
    <div class= "col-lg-5 col-md-5 col-xs-5">

        <% form_for @project do |f| %>
            <%= f.text_field(:title, placeholder: "Give your project a name", :class => 'form-control') %>

            <%= f.select(:project_type_id, @project_types.map {|n| [n.project_type_name, n.id]}, {}, :class => 'form-control') %>

            <%= f.select(:industry_id, @industries.map {|n| [n.industry_name, n.id]},{}, :class => 'form-control') %>

            <%= f.select(:character_id, @characters.map {|n| [n.character_name, n.id]},{}, :class => 'form-control') %>

            <%= f.select(:personality_id, @personalities.map {|n| [n.personality_name, n.id]},{}, :class => 'form-control') %>

            <%= f.text_area(:description, :class => 'form-control') %>

            <div class='padding-top'></div>

            <%= submit_tag("Post project", :class => 'btn btn-success btn-sm sniglet') %>

        <% end %>
    </div>
</div>

“表单控件”)%%>
“表单控件”)%%>
“表单控件”)%%>
“表单控件”)%%>
“表单控件”)%%>
“表单控件”)%%>
“btn btn成功btn sm sniglet”)%%>

如果没有部分

,页面将呈现空白。如果没有更多信息,很难知道问题所在。但是,从你提供的有限代码来看,有几件事激起了我的兴趣:

  • 可能
    当前用户
    的计算结果为
    false
    ,并且未呈现部分
  • 为什么
    当前用户在视图中签入?为什么不将操作限制为控制器级别的登录用户
  • 也许您的分部需要一个
    项目
    实例,但它没有被传递

  • 查看控制器、部分和
    当前用户
    代码会很有帮助。

    您只需为当前用户值添加临时日志:

    def current_user
      @current_user ||= User.find(session[:user_id]) if session[:user_id]
      Rails.logger.info("!!!#{@current_user}")
    end
    
    你会发现你的问题。这里还有一个关于if in模板的小提示:

    <%= render(:partial => "projects/new_project") if current_user %>
    
    “项目/新项目”)如果当前用户%>
    

    对我来说读起来更好。

    你确定设置了
    会话[:user\u id]
    吗?你能分享
    项目/新项目的部分内容吗。另外,您确定在尝试此代码时设置了当前用户吗?@Kirti请查看编辑。@Clockwork让我们在聊天中讨论此问题
    
    <%= render(:partial => "projects/new_project") if current_user %>