新手:根据条件松散的@object访问呈现不同的视图和布局

时间:2012-02-10 15:32:34

标签: ruby-on-rails-3 view ruby-on-rails-3.1

我正在尝试根据条件渲染视图+布局。以下代码似乎有效但无法访问@objects预先设置。我用ProfilesController方法Show。

调用此代码
@profiles = Profile.where(:user_id => current_user.id).first    

if @profile.nil? == true

  render :view => "show", 
         :layout => "application"
else
  render :template => "profiles/my_profile",
         :layout => "profiles"
end

提供输出:

undefined method `profiles' for nil:NilClass

如何根据条件进行渲染并仍然保留上一组@objects(在这种情况下是对@profiles的访问权限)

1 个答案:

答案 0 :(得分:0)

在视图中设置布局不是要走的路,它不是轨道方式,即使可能也不建议。我更改了控制器操作中的设置布局,并在我的show部分中渲染了正确的代码,完全解决了问题。