html - 更改 submit_tag 上的文本
问题描述
我正在为 Ruby on Rails 中的演示文稿开发注册应用程序。因此,我正在显示可用演示文稿的列表,最后一列显示一个用于注册该特定演示文稿的按钮。
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">Name</th>
# ...
</tr>
</thead>
<tbody>
<tr>
<% @presentations.each do |pres| %>
<td scope="row"><%= pres.Name %></td>
# ...
<td scope="row">
<% unless @current_student.Selected == pres.Titel %>
<%= form_tag students_select_path do %>
<%= submit_tag "Choose", class: "btn", value: pres.Title %>
<% end %>
</td>
</tr>
</tbody>
</table>
我想让按钮说"Choose"
,然后将参数发送pres.Title
到我定义的函数。出于某种原因,表中的按钮显示的是 的值pres.Title
,而不是 的值"Choose"
。如何解决这个问题?
目前的工作实施:
def addtodb
@student = Student.find_by(id: session[:student_id])
if @student.Selected == nil
prestitle = params[:commit]
@schueler.update_attribute(:Selected, prestitle)
redirect_to students_select_path
end
end
解决方案
我想让按钮说“选择”,然后将参数 pres.Title 发送到我定义的函数。出于某种原因,表中的按钮显示了 pres.Title 的值,而不是“选择”的值
submit_tag(value = "保存更改", options = {}) 公共
<%= submit_tag "Choose", class: "btn", value: pres.Title %>
不会生成带有文本选择的提交按钮,因为您将值覆盖为pres.Title
。您需要将其更改为
<%= submit_tag "Choose", class: "btn" %>
你可以hidden_field_tag
像这样使用
<%= form_tag students_select_path do %>
<%= hidden_field_tag 'prestitle', pres.Title %>
<%= submit_tag "Choose", class: "btn" %>
<% end %>
最后,访问params[:prestitle]
控制器中的值。
注意: 作为 Rails 约定之一,属性名称应为小写。我建议您在您的应用程序中关注它。
推荐阅读
- node.js - NodeJS 肥皂客户端
- google-cloud-platform - Google 机器学习引擎 - Scikit-Learn 模型
- php - 将 PHP 数组导入引导卡
- javascript - 使用nodeJS将文件添加到同一文件夹
- r - 如何将 TTR::adjRatios() 与 tidyquant 一起使用?
- android - 带 Room db 的数字类型
- android - 通过 RecyclerView 中的改造来获取所有用户
- c - C 上的不同错误、错误 C2275、C2146 等
- q# - Q# 与 LIQUi|>
- python - 使用python复制文件并根据CSV重命名它们