我在控制器中执行此查询,而"组"模型has_many用户
@group= Group.find(params[:id])
Run Code Online (Sandbox Code Playgroud)
@group用于呈现此部分(部分用户转储到表中)
<%= render :partial=>"user_list", :locals=>{:users=>@group.users} %>
Run Code Online (Sandbox Code Playgroud)
传递给partial的局部变量'users'是一个User对象数组;
- !ruby/object:User
attributes:
updated_at: 2011-01-04 21:12:04
firstname: Bob
lastname: Smith
id: "15"
group_id: "2"
created_at: 2010-11-26 12:54:45
Run Code Online (Sandbox Code Playgroud)
如何通过'lastname'对用户数组进行排序?没试过,我尝试了几种不同的方法.试图按照数组中的对象属性进行排序让我感到困惑.另外,我不知道如何通过以下方式执行此操作:查询中的顺序(如何:不是命令组而是命令每个组的用户)?
也许我没有正确引用对象的名称('用户')?看起来这应该是有效的,因为它会产生'无方法'错误(如果在没有!的情况下使用'sort_by',则会产生动态常量赋值错误):
users.sort_by! {|User| User.lastname}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
假设我正在查询水果清单,然后将水果的ID和名称收集到@fruit中.
[32, "apple"],
[8, "bannana"],
[10, "cantelope"],
[11, "grape"],
[15, "orange"],
[41, "peach"],
[22, "watermelon"]
Run Code Online (Sandbox Code Playgroud)
@fruit正在Select帮助器中使用.位于@fruit的索引0处的"apple"将是select的选定值(第一选项).这是一个组成的示例,但默认情况下,我总是会知道"橙色"的名称(不是id).我需要"orange"作为select标签的选定值(第一个选项).
":prompt =>'orange'"只是在select中添加了第二个"orange"实例.到目前为止,我在Google上找到的所有内容似乎都是为了在列表中添加额外的值或空白.
由于数组的索引0总是成为选定的值(如果在select帮助器中没有使用提示符或空白),有没有办法找到包含名称"orange"的索引(@fruit [x] .name == 'orange'),并将其移至索引0,同时保留列表其余部分中的现有alpha排序?所以,@ fruit数组看起来像:
@fruit[0] [15, "orange"],
@fruit[1] [32, "apple"],
@fruit[2] [8, "bannana"],
@fruit[3] [10, "cantelope"],
@fruit[4] [11, "grape"],
@fruit[5] [41, "peach"],
@fruit[6] [22, "watermelon"]
Run Code Online (Sandbox Code Playgroud)
我现在唯一能想到的就是遍历@fruit,如果发现"orange",则将其添加到新数组中.然后再次遍历@fruit数组并添加任何没有"orange"名称的内容.我不知道如何写出来,但似乎它会做我正在寻找的东西.也许有一些简单的方法可以做到这一点我缺少(指定数组中的哪个索引是第一个写的选项)?
谢谢!
我不想这么说,但我已经沉迷于 Skybound Stylizer 5.
这对我来说很少买,因为我通常只使用开源或具有"每用户"许可的软件.关于这件事的许可证和DRM是可怕的.它进行硬件检查(包括检查电池是否存在),只允许您在一台笔记本电脑和一个台式机上安装.当然,我有一台工作台式机和笔记本电脑以及两台家用台式机和两台家用笔记本电脑.我喜欢在家里使用这个东西,但是当我只是一个拥有多台机器而没有其他人使用但我的人时,我无法支付另一个单独的许可证.
除了我对许可证类型和DRM的厌恶之外,79美元的价格似乎合理(没有问题).
我已经尝试搜索几个小时,但找不到另一个可视化处理渲染页面的CSS编辑器.我正在使用Rails和作为多引擎Web浏览器的整个Stylizer概念,它允许您在呈现的页面上定位元素是一个节省生命.我见过的其他任何东西都不会在Rubymines CSS编辑之上添加任何好处(顺便说一下 - 感谢每个用户的许可证Jetbrains).
如果其他人有类似的东西,我很乐意为每用户许可支付两倍的价格.有趣 - 我很乐意为每个用户许可证支付150美元,但想要支付两个79美元的许可证,因为(我的天哪)我使用两台不同的笔记本电脑惹恼了我.
谢谢!
假设我有一个名为"Fruit"的模型,并且查询将所有不同的水果名称返回给@fruit:
!ruby/object:Fruit属性:fruit_name:orange attributes_cache:{}
!ruby/object:Fruit属性:fruit_name:apple attributes_cache:{}
!ruby/object:Fruit属性:fruit_name:peach attributes_cache:{}
我理解(有点)@fruit是一个由数组(activerecord对象)组成的数组.我正在尝试将返回的水果名称放入逗号分隔的字符串中,例如:"orange,apple,peach".
如果数组由字符串或数字(而不是数组)组成,我知道我可以使用map w/.join(',')来执行此操作.我在引用数组中的数组所需的额外语法时遇到问题(每个数组索引处的数组的'fruit_name'字段).
我知道这会起作用,只是不确定如何将其作为动态迭代:
@fruit_string = @fruit [0] .fruit_name +','+ @fruit [1] .fruit_name +','+ @fruit [2] .fruit_name
我使用的是Ruby 1.8.7和Rails 2.3.5.
如果我有一个12.525的浮点数,怎么能得到小数点后的位数?在这种情况下,我希望得到'3'.
Rails 2.3.5(在localhost上以开发模式运行)
我一直无法找到答案.在IE8和FF中,alts(工具提示)不会出现在鼠标悬停中.但出于某种原因,他们确实在IE7中.我猜这是我缺少的一些基本知识,或者我的样式表中有些东西会破坏IE7/IE8中的工具提示?我没有使用工具提示脚本或插件.
我正在使用image_tags的两种主要方式:
<%= image_tag("show_group.png", :size => "64x64", :alt => "Show Group") %>
<%=link_to image_tag ("menu_icon_make_new_item.png", :size => "38x27", :alt =>
"Make new item", :id => 'item_select_menu', :class => 'nothing2'), {},
:onclick =>'dialog_back_to_new_item_select_menu(); return false' %>
Run Code Online (Sandbox Code Playgroud)
虽然我很确定它不是Rails的东西,因为即使这个手动编码的img标签也没有显示它在IE8/FF中悬停时的alt(但确实在IE7中显示).
<span id="show_user_panel_arrow"><img src="\images\user_panel_expand.png"
alt="show bulk user panel" id="user_panel_arrow" /></span>
Run Code Online (Sandbox Code Playgroud)
谢谢!
无法搜索此内容.到目前为止,我发现的唯一一件事就是映射API,其中(对于地图标记)JavaScript在500个ID之间严重陷入困境.我很确定这与使用的特定脚本有关,而不是一般规则.
我有一个包含复杂列表的页面.列表中的每个项目上都有大约10个不同的ID,并且有几个JavaScript脚本在运行.该列表是分页的,用户可以选择每页显示多少项.考虑到列表中的每个项目有~10个ID,我想知道我应该将每页的最大项目数设置为(用户可以选择在页面上一次查看的记录总数).
我的意思是 - 除了根据记录的原始数量增加加载时间之外,是否存在已知数量的id,其中限制被命中或者CSS/JavaScript性能开始急剧下降?
编辑:原谅,每个"项目"都是复杂的名片(用于绘制图片),其中有三个div和一个小格式.那个项目(记录)有大约10个id.
Rails 2.3.5,Ruby 1.86
我无法弄清楚这一点.下面的选择中的'onchange'没有被写入(没有在HTML中写的onchange).我没有看到对语法的引用不同,除了在一些较旧的示例中onchange被括在括号中:
<%= f.select :directory_id, options_for_select(@directories, @directory_to_select), :onchange => 'folder_lookup()' %>
Run Code Online (Sandbox Code Playgroud)
结果是:
<select id="contact_directory_id" name="contact[directory_id]">
<option value="2">test_1</option>
<option value="4">test_2</option>
<option value="33" selected="selected">test_3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果我只是将"f.select"更改为"select_tag",则会正确写入onchange(不是我想要这样做):
<%= select_tag :directory_id, options_for_select(@directories, @directory_to_select), :onchange => 'folder_lookup()' %>
Run Code Online (Sandbox Code Playgroud)
结果是:
<select id="contact_directory_id" name="directory_id" onchange="folder_lookup()">
<option value="2">test_1</option>
<option value="4">test_2</option>
<option value="33" selected="selected">test_2</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我是否在select和select_tag帮助器之间缺少onchange的语法差异?
谢谢!
(Rails 2.3.5)
我有两个脚手架:目录和用户
对于目录显示操作(比如显示操作:"\ directories\2"),我使用了User\New表单并将其设置为部分,以便用户可以将用户添加到目录.我无法弄清楚的是,如果有任何验证错误,我可以在创建操作中返回"\ directories\2\show".返回如果User.save成功工作正常,我只是无法弄清楚如何格式化Render操作以返回到目录并在New User partial中显示错误消息和字段.
如果保存成功,这可以正常工作,如果有错误将使用相同的东西将工作,但不会显示error_messages(我知道错误消息只是假设在渲染上传递,而不是重定向,但我不能当涉及到id参数时,弄清楚渲染动作所涉及的语法):
format.html { redirect_to directory_path(@user.directory_id) }
Run Code Online (Sandbox Code Playgroud)
用户在Direcory Show动作中创建由partial调用的动作:def create @user = User.new(params [:user])
respond_to do |format|
if @user.save
flash[:notice] = 'User ' + @user.name+ ' was successfully created.'
format.html { redirect_to directory_path(@user.directory_id) }
format.xml { render :xml => @user, :status => :created, :location => @user }
else
# what to do here to successfully return to 'directories\show\(@user.directory_id)'
# and what to do here that successfully passed the error_messages
end
end
end
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助 …
我一直在努力学习如何处理由数组组成的数组.
说我有这个数组:
my_array = [['ORANGE',1],['APPLE',2],['PEACH',3]
Run Code Online (Sandbox Code Playgroud)
我如何找到包含'apple'并删除该索引的my_array索引(删除子数组['APPLE',2],因为'apple'在该索引的数组中被包含)?
谢谢 - 我非常感谢这里的帮助.