ruby-on-rails - Rails 多个评级星形式
问题描述
我目前正在开发一个项目来显示具有多个选项的问题,并且每个选项都有一个 display_type。(例如,一个问题有 4 个选项,所有选项都带有 display_type:"stars"),它应该给出类似于此视图的结果:
由于此代码(haml)在本地 answer_option 循环中调用并导致以下html:
.match-form-item-stars
#{answer_option.title}
%fieldset{class:'rating'}
- 5.downto(1).each do |i|
= radio_button_tag answer_option.id, i
= label(answer_option.id,i)
<fieldset class="rating">
<input type="radio" name="34" id="34_5" value="5">
<label for="34_5">5</label>
<input type="radio" name="34" id="34_4" value="4">
<label for="34_4">4</label>
<input type="radio" name="34" id="34_3" value="3">
<label for="34_3">3</label>
<input type="radio" name="34" id="34_2" value="2">
<label for="34_2">2</label>
<input type="radio" name="34" id="34_1" value="1">
<label for="34_1">1</label>
</fieldset>
就像您在 html 代码上看到的那样,我无法摆脱标签中的 i 值,这不是很花哨。我试过 content: '' in css => 不工作。试过 = label(answer_option.id,i,'') 也不起作用。
其次,参数中发送给控制器的值是:“33”=>“4”,“34”=>“2”,“35”=>“5”,“36”=>“2”。这样可行!但我希望它像 "star-answers": { "33"=>"4", "34"=>"2", "35"=>"5", "36"=>" 2"}。如果我的选项是 display_type:checkbox ,我就成功了:
= check_box_tag('answer_option[]',answer_option.id,id: answer_option.id)
%label{for: answer_option.id}
但这是不同的,因为我只需要传递选中选项的 id 而不是值...
知道我应该做些什么来解决这两个问题吗?提前致谢
解决方案
推荐阅读
- vb.net - Webbrowser 控件首次加载页面需要 20-60 秒
- javascript - 相当于带有数字键的对象的拼接
- phpstorm - 项目名称在 PhpStorm 中出现错误
- laravel - 在 Laravel 5.8 或更高版本中使用 Auth::user()->user()
- google-chrome-extension - CWS 支付 API 内部服务器 500 错误
- regex - 正则表达式中的放置问题在长文档中超过 700 个匹配项
- php - 我正在我的网站中测试注入,我收到此错误
- c - 为什么这个例子显式地将字符串的最后一个字符(由`snprintf()`分配)设置为`/0`?
- swift - 如何在 swift 4 的闭包中分配类属性
- docker - 为什么我的 Docker 端口没有正确暴露?