Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.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 on rails Rails视图处理模型中的空白值_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails视图处理模型中的空白值

Ruby on rails Rails视图处理模型中的空白值,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我在这里,有我的rails项目,这个问题打动了我。 对于我的用户配置文件,一些属性将是空的,我希望它们默认为一个特定的值:如果它们没有设置,我希望我的视图显示自定义消息,并在其周围添加一个类似“blank”的CSS类 我使用的是一个演示者,但由于它的行为有点像一个助手,让我们假设这些都是助手方法 在我的助手中,我有如下内容: def professional_information handles_not_set user.university, user.job do |univers

我在这里,有我的rails项目,这个问题打动了我。 对于我的用户配置文件,一些属性将是空的,我希望它们默认为一个特定的值:如果它们没有设置,我希望我的视图显示自定义消息,并在其周围添加一个类似“blank”的CSS类

我使用的是一个演示者,但由于它的行为有点像一个助手,让我们假设这些都是助手方法

在我的助手中,我有如下内容:

def professional_information
    handles_not_set user.university, user.job do |university, job|
        content_tag(:p, university.content, class: university.error) +
        content_tag(:p, job.content, class: job.error)
    end
end
句柄未设置
的定义如下:

def handles_not_set(*objects)
    o = []
    objects.each do |object|
      attr = OpenStruct.new
      if object.blank?
        attr.content = 'Not specified.'
        attr.errors = ['blank']
      else
        attr.content = object
        attr.errors = []
      end
      o << attr
    end
    yield *o
end
def句柄非集合(*对象)
o=[]
对象。每个do |对象|
attr=OpenStruct.new
如果object.blank?
attr.content='未指定'
attr.errors=['blank']
其他的
attr.content=对象
attr.errors=[]
结束

o我就是这样做的,Ryan Bates也是这样在Railscast中做的(你的版本有点复杂,因为它需要很多参数)哦,我没有看过这个Railscast,但无论如何我倾向于觉得有点太复杂了。谢谢