ruby-on-rails - 如何更改为查看辅助方法?

标签 ruby-on-rails ruby ruby-on-rails-3

我正在开发一个应用程序,您可以在其中添加任务等。我知道这有点奇怪,但我只是想看看其他人如何实现它。您将如何将以下代码更改为辅助方法并使用它?

原始代码

<h2>My Tasks</h2>
<% task = @work.tasks %>
<% if task.empty? %>
  <%= link_to 'Create a new task', new_task_path %>
<% else %>
  <%= render :partial => 'notes/note', :locals => {:note => @note} %>
<% end %>

我做辅助方法的方式

def task_check
  task = @work.tasks 
  if task.empty? 
    link_to 'Create a new task', new_task_path
  else 
    render :partial => 'notes/note', :locals => {:note => @note} 
  end 
end

在我看来

<%= @work.task_check %>

最佳答案

就个人而言,我根本不会提取它,这是 View 逻辑,它属于 View 。它绝对不属于模型,但可以说可以提取到助手中。我会稍微改变它:

<h2>My Tasks</h2>
<% if @work.tasks.blank? %>
  <%= link_to 'Create a new task', new_task_path %>
<% else %>
  <%= render :partial => 'notes/note', :locals => {:note => @note} %>
<% end %>

调用 blank?而不是 empty?即使 @work.tasks 也能正常工作是nil

.

关于ruby-on-rails - 如何更改为查看辅助方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10290815/

相关文章:

jquery - 如何在 Rails 中的 JSON 响应中包含 cookie?

ruby-on-rails - ActiveRecord 和 PostgreSQL : Query jsonb attribute

ruby-on-rails - rails : Uninitialized Constant inside Controller

ruby - 在 Ruby 类中实现真实性

ruby-on-rails - 正确的 Assets 相对url : rails/apache/passenger

ruby-on-rails - 使用has_many时如何指定foreign_key和class :through?

mysql - 调试陈旧的 Ruby 进程

ruby-on-rails - rails : How do I paginate multiple models with kaminari?

ruby-on-rails - 嵌套时如何实现太阳黑子搜索

mysql - Ruby - 发生异常:[Mysql2::Error] 关闭了 MySQL 连接