简体   繁体   中英

Conditional root_url (index)

I'd like my application to display different data on the frontpage depending on whether the user has been logged in or not.

def index

  if current_user
    # render another controllers action
  else
    # render another controllers action
  end

end

I can achieve this by using render_component. However it has been obsolete for some time. Although I can still use it as a plugin, I'm interested if anyone has a better approach. Just take in mind that rendering another controller's view directly is not an option.

Thanks.

Just use your index method as a public proxy to the specific view you want to render.

def index
  if user?
    logged_in
  else
    logged_out
  end
end

private

def logged_in
  # stuff
  render :action => "logged_in"
end

def logged_out
  # stuff
  render :action => "logged_out"
end    

如果它是一个相对较小的数据子部分,我可能会在视图帮助器中这样做。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM