我对Rails相当新,我坚持将文本字段值传递给Rails Controller方法。感谢任何帮助,下面是我的代码..
查看代码:
点击下面的按钮,我希望能够将用户名发送到Controller方法..
<%= link_to "My button", admin_user_creds_path(user_config),
method: :test_user, role: "button" %>
用户名在文本字段中输入:
<%= form_for [:admin, user_config] do |f| %>
<td class="js-editable-text rf-table__td rf-table__col--username">
<div class="preview js-preview show"><%= user_config.username %></div>
<div class="js-input hide"><%= f.text_field :username, class: "form-control" %></div>
</td>
我的路线档案:
post "/user_configurations/:id", to: "user_configurations#test_user", as: "user_creds"
我的控制器:
def test_user
username = user_params[:username]
end
def user_params
params.require(:user_configurations).permit(:username)
end
答案 0 :(得分:0)
您需要在表单中添加提交按钮,而不是使用link_to
帮助程序。
<%= form_for [:admin, user_config] do |f| %>
<td class="js-editable-text rf-table__td rf-table__col--username">
<div class="preview js-preview show"><%= user_config.username %></div>
<div class="js-input hide"><%= f.text_field :username, class: "form-control" %></div>
<%= f.submit "My button" %>
</td>
另请注意method
帮助器中的link_to
选项是get
或post
HTTP方法,但不是控制器操作