Ruby on rails Rails视图处理模型中的空白值
我在这里,有我的rails项目,这个问题打动了我。 对于我的用户配置文件,一些属性将是空的,我希望它们默认为一个特定的值:如果它们没有设置,我希望我的视图显示自定义消息,并在其周围添加一个类似“blank”的CSS类 我使用的是一个演示者,但由于它的行为有点像一个助手,让我们假设这些都是助手方法 在我的助手中,我有如下内容: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
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,但无论如何我倾向于觉得有点太复杂了。谢谢